【问题标题】:EF6 SQL Server CompactEF6 SQL Server 紧凑型
【发布时间】:2015-09-21 01:41:43
【问题描述】:

我正在尝试使用 EF6 代码优先和 SQL Server Compact 创建数据库。执行update-database 命令后,我得到以下结果:

Screenshot SQL Server Compact

有奇怪的列Operator_IdStation_IdOperator_Id1Station_Id1

这是我的模型:

public class OperatorActivity
{
    public Guid Id { get; set; }
    public DateTime StartDate { get; set; }
    public DateTime? EndDate { get; set; }
    public bool Synched { get; set; }

    public virtual Station Station { get; set; }
    public Guid StationId { get; set; }

    public virtual Operator Operator { get; set; }
    public Guid OperatorId { get; set; }
}

在 SQL Server 中一切正常

Screenshot SQL Server

为什么我会在 SQL Server Compact 中获取这些列?

【问题讨论】:

    标签: sql entity-framework sql-server-ce


    【解决方案1】:

    我认为 Operator 的外键字段是 OperatorId(其他类似),因此您需要对其进行映射。如果你用数据注解映射它,对于每个外键字段你需要映射字段名称,即

    [ForeignKey("OperatorId")]
    public virtual Operator Operator { get; set; }
    public Guid OperatorId { get; set; }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-21
      • 1970-01-01
      相关资源
      最近更新 更多