EF6 SQL Server Compact

时间:2015-07-03 09:15:03

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

我尝试使用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中获取这些列?

1 个答案:

答案 0 :(得分:0)

我认为Operator的外键字段是OperatorId(和其他类似)所以你需要映射它。如果使用数据注释对其进行映射,则需要为每个外键字段映射字段名称,即

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