[英]Entity Framework v4 -> need some help with POCO's and Entities
我正在使用EF4,我有兩個實體,我希望映射到同一個 POCO
。 我不知道怎么能這樣做。
實體1→Foo(這表示數據庫中的表FOO)
POCO→Foo實體2→FooView(這表示數據庫中的FooView視圖)
POCO→Foo
我明白我需要做點什么
IObjectSet<Foo> _foos = CreateObjectSet<Foo>();
// Note spelling of the Entity.
IObjectSet<Foo> _foosView = CreateObjectSet<Foo>("FooViews");
但是當我嘗試這個時,它確實編譯,但它失敗並出現以下異常:
System.ArgumentException:System.ArgumentException:指定的實體類型“MyProject.Core.Foo”與EntitySet“FoosViews”中的“EntityFramework.SqlServerModel.FoosView”類型不匹配。
有什么建議?
以下是要查找的事項清單:
EntitySets
: Foo
和FooView
EntityTypes
: Foo
和FooView
EntitySets
: Foo
和FooView
- 兩者的EntityType
設置為ModelName.Foo
EntityType
: Foo
EntitySetMappings
:
Foo
與一個EntityTypeMapping
(“ModelName.Foo”)與一個MappingFragment
(“Foo”) FooView
與一個EntityTypeMapping
( “MODELNAME。 富 ”)與一種MappingFragment
(“ FooView”) 你應該新的能夠執行以下內容:
Foo foo = new ModelEntities()
.CreateObjectSet<Foo>("FooView")
.First();
您可以通過執行以下操作為自己做一個開始:
Foo
和FooView
添加到您的模型中 Foo
的Mapping Details
,單擊Add a Table or View
並選擇FooView
FooView
<StorageModels>
找到<EntityType Name="FooView">
並從<Key>
刪除任何不正確的條目(它應匹配<EntityType Name="Foo">
) <EntityTypeMapping Name="IsTypeOf(Foo)" />
和<EntityTypeMapping Name="IsTypeOf(FooView)" />
(它們導致我的錯誤) 從beta 2開始,實現上述功能將打破設計師的角色
在NHibernate中,應該使用Projections來解決這個問題。 所以,我認為必須存在與實體框架類似的東西。 我用Google搜索了一下,然后我就來了:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.