【问题标题】:EF6 Create Custom Primary key and no ID column (with Azure Mobile Service)EF6 创建自定义主键和无 ID 列(使用 Azure 移动服务)
【发布时间】:2015-03-16 16:08:11
【问题描述】:

我首先使用实体​​框架代码创建 Azure 移动服务,并尝试遵循键的 [Class]Id 命名约定。我的目标是让 [Class]Id 列成为唯一的主键,并且不创建任何 Id 列。我似乎无法做到这一点。当我从以下构建一个新的 Azure 表控制器时,生成的代码会创建 ClientId,但也会创建 Id。当我测试代码时,我收到错误“无法确定复合主键排序......”因为(我假设)我没有解决 Id 的列顺序,因为它甚至没有出现在类中。

public class Client: EntityData
{
    // Unique ID of this client (PK)       
    [Key, Column(Order = 1), Required, DatabaseGenerated(DatabaseGeneratedOption.None)]
    public Guid ClientId { get; set; }

    (...)
}

不确定它是否相关,但请注意,我正在设置 ClientId 的值,而不是要求数据库为我自动设置它。

我错过了什么?谢谢!

【问题讨论】:

    标签: azure ef-code-first entity-framework-6 primary-key


    【解决方案1】:

    您的 Client 类继承自 EntityData,它已经包含一个名为 Id 的主键

    Public class EntityData : ITableData
    {
        [Key]
        [TableColumn(TableColumnType.Id)]
        public string Id { get; set; }
    
        //Other system properties
     }
    

    您可以删除 EntityData 并设置自己的密钥等,但使用Azure Mobile Services 可能会遇到比其价值更多的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-30
      • 1970-01-01
      • 1970-01-01
      • 2013-03-27
      • 1970-01-01
      • 2015-10-06
      • 1970-01-01
      相关资源
      最近更新 更多