日期:2014-05-20  浏览次数:20942 次

关于ORM框架Entity Framework的问题
我们通常数据实体和数据库表一一对应,可是我们真实所需要的数据却不一定是某个实体,比如

某个person 表  有姓名,年龄等字段,这些好办,,还有个分组字段,,而分组字段有可能是int值

另外有个分组表,,写着分组名称,和分组的int值。

通常数据库person表存的是分组的int值ID

但是我们查的时候却需要的是分组的中文名称varchar值。。

这种情况一般怎么处理呢?

这只是其中一种情况,还有很多,比如某个属性名称要重命名,,或者增加一个动态列 。都会导致数据与实体无法对应。

我只能想到在建立一个实体,但总感觉这方法很土。

又或者如果返回的结果要与前台形成互动,,返回的是动态属性值,,那光建立个实体怕也是解决不了问题的。

请各路大侠们提供些解决方案的思路,最好能有Demo让小弟学习。


------最佳解决方案--------------------
另外正常你做个外键关联,EF Model First就会帮你生成 Navigate Property
------其他解决方案--------------------
以前用Ado.net的时候,通常是写sql或者存储过程返回一个数据集,数据集的表中既包含了分组的ID,也包含了分组的名称,ID是隐藏不显示的,而名称显示出来。而后台的操作都是取对应的ID取操作。现在用EF的查询,怎么感觉查询出来都要对应实体。感觉没那么灵活。
------其他解决方案--------------------
查查 Join ...
------其他解决方案--------------------
能不那么简单么..Join是什么..
------其他解决方案--------------------
select a.username,a.password,'2' as level from users

假设上面针对users表的一条查询语句,users表其实远不止username和password这两个字段,还有菜单权限,操作权限等字段,对应的实体里也都有,但是这里不需要,并且还要增加一个实体里没有的字段level
这种情况怎么处理呢?
------其他解决方案--------------------
引用:
能不那么简单么..Join是什么..


估计你得先补习下SQL的基础,查查什么是Inner Join
------其他解决方案--------------------
引用:
引用:

能不那么简单么..Join是什么..


估计你得先补习下SQL的基础,查查什么是Inner Join


额...sql是不用补的..我sql学的很好,我刚才查了下你所说的Join..确实对我有点帮助...
不过Linq表达式和Lambda表达式确实有很多不懂的地方...
你方便留下QQ么..