对于Entity Framework,
我是个新人; 最近用到个实体框架来简化对数据库表的操作,
不过在实际中遇到如下一些问题, 在博客园这里希望各位大虾帮我看看下,
是否可以解决, 或者说Entity Framework是否支持?
我在数据库TestDB中建了三个表: Person, Area, House;
表示某个人在某个地区所拥有的房子.
其中 Person与House的对应关系是1对多的关系.
数据库如下如图

Person 表

Area表

House表

我已经加些一些测试数据进去,
如图

表建好了,并且测试数据已经添加;
现在我想用Entity Framework把Person,Area,House三张表映射到一个实体(Entity),
这个新Entity包含的信息如下图所示:

我用VS2010新建Console Project,
名字是: TestProject,
然后我加入了一个ADO.NET Entity Data Model, 把它命名为: Model1.edmx;
选择的数据库是我创建的测试数据库,
并选中Person,Area,House这三个表,
这时VS2010会自动生成三个对应Table的实体类Person, Area, House,
如下图所示
:
由于我的目的是实现一个Entity映射3个table,
所以Person.PersonName, Area.AreaName
这些属性都移入至House实体对象中,
效果如图:

然后我把Person,Area实体删除掉,
但我要保留Person,Area表在Store Model中,
因而在删
除Entity时,
在弹出的提示框中,选择[No]按钮,
如图:
删除Person, Area 实体后,
就只剩下House 实体了,
如图:
接下来我进行关系的映射,
希望最终的House实体能正确取得如下信息:

下面是我配置的Table Mapping :

按我理解, 经过这样Mapping后,
应该是正确的, 也应该能正确地读取数据才对的,
但我编译时, 失败了,
出现了错误的提示信息, 如图:
至于为什么会发生错误, 我就不清楚了,
肯定是我有些地方配置不正确造成的,
但我就是想用一个实体映射多个表, 虽然表的关系是1对多的关系,
请问我那里设定错了呢? 还是Entity Framework
不支持这种方式呢? 或者有更好的方案,
麻烦都告诉我, 谢谢!