当前位置:编程学习 > C#/ASP.NET >>

entity framework实体类问题

单个表对应实体类查询后显示出来可以,多个表查询字段显示如何对应实体类,实体类都是对应数据库表的,难道自定义一个实体类?用的是MVC+entity framework开发,忘高手指点 entity framework mvc --------------------编程问答-------------------- 综合查询,你可以创建视图然后更新到entity 实体模型 --------------------编程问答-------------------- 如果数据量大表关联复杂那么查询起来岂不多费时间,还有其他方法吗,毕竟这种多表联查显示要用到很多,每个都写视图吗? --------------------编程问答-------------------- entity framework不是万能的。多表联合查询直接用sql最简单,返回时可以定义一个实体装载。
里面大概 List<T> list=  CreateQuery<T>(entity的类sql);
也可以写存储过程,List<T> list = entityframework调用存储的方法 --------------------编程问答-------------------- 你可以认为EF是比较死板的,这就是框架的限制。较灵活的情况可以直接用ADO.net --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 手写sql语句能完成的linq to ef也都可以 像下面这样查询:
var result= from c in customers join o in orders on c.ID equals o.ID
           select new {c.ID,c.city}

--------------------编程问答-------------------- 上面的linq语法不管数据库表有无主外键关联都可使用
当连表查询有主外键关系的多表数据时 譬如order的外键是customer表的主键 在生成实体对象模型时会给order和customer表都生成导航属性 当然也可以在vs中设置导航属性更新回数据库
然后可以这样查询:
from c in customers
where c.country="USA"
select new {ID=c.customerID,Name=c.companyName,orders=c.Orders}
可以将符合条件的customer连同他们的订单表的数据查询出来
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,