尝试在Entity Framework中使用复合键时,我遇到了这个问题
附加信息:属性表达式&t; t =>新 <> f__AnonymousType0无效。表达式应代表a property:C#:' t => t.MyProperty' VB.Net:'功能(t)t.MyProperty'。 指定多个属性时,请使用匿名类型:C#:' t => 新的{t.MyProperty1,t.MyProperty2}' VB.Net:'功能(t)新增{ t.MyProperty1,t.MyProperty2}'。
代码是
// Primary Key
this.HasKey(t => new { t.ID, t.ID2, t.Version.Major, t.Version.Minor, t.Version.Revision, t.Version.Build });
MODEL
public int ID { get; set; }
public short ID2 { get; set; }
private VersionType m_Version;
public VersionType Version
{
get
{
return m_Version;
}
set
{
SetProperty(ref m_Version, value, () => this.Version);
}
}
modelBuilder.ComplexType<VersionType>()
我认为它与在属性(Major等)之前声明Version类有关。
如果是的话,无论如何我可以解决这个问题吗?
干杯
答案 0 :(得分:0)
我认为这可能会帮助你从之前的SO问题大致相同。 https://stackoverflow.com/a/5683788/78551了解他们如何定义模型和流畅的api配置。