我有一個Member
實體,它具有複雜類型Address
,其複雜類型稱爲UsState
,它具有以下屬性:Id
,Name
和Iso
。如何用MVC3忽略內部實體屬性?
我需要將成員地址的UsState
映射到它的數據庫表列。問題是,members
表只包含State (VARCHAR)
列,因此爲了執行正確的映射,我這樣做:
modelBuilder.Entity<Member>().Property(p => p.BillingAddress.State.Name).HasColumnName("State");
modelBuilder.Entity<Member>().Ignore(p => p.BillingAddress.State.Id);
modelBuilder.Entity<Member>().Ignore(p => p.BillingAddress.State.Iso);
但看來,Ignore
只接受基礎屬性的lambda表達式,所以我收到這樣的:
The expression 'p => p.BillingAddress.State.IsoCode' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'.
如何解決此問題? (優選使用Ignore
方法)
這與MVC無關。 – Dismissile