wcf+linq to sql中关联查询返回数据问题
来源:互联网 发布:软件源代码提取 编辑:程序博客网 时间:2024/04/27 06:06
前段时间准备采用wcf+nh框架开发sl程序,发现采用nh开发不适合我的中型、并且快速开发项目,所以综合考量了下,决定采用wcf+linq to sql 。
但是此模式也有缺点,也是linq to sql的缺点,查询语句写起来比较复杂(),只有边摸索,边开发了。
所以第一步就是搭建wcf:,目前我采用的wcf寄宿在一个winform程序,并采用tcp协议(考虑效率问题)。
第二步:在wcf服务项目中添加linq to sql 类。
在实现wcf 时,我有个user表和rose表,两个表是关联表,usr表中外键是roseid,在查询用户时,需要关联rose表,由于通过linq to sql 创建的实体类,所以无法通过linq to sql 类实体了,网上搜了些资料,没找到办法,后来自己想到了两个办法:
(1)采用视图:即在数据库中再建一个user和rose的关联视图,然后通过linq tosql 实现此关联视图类及相应方法,此方法可行但是可能会遇到一个问题就是效率问题
(2)第二个方法就是自己建一个类user_rose(在wcf服务中建),这个类放需要从user表和rose表关联的字段的相应的属性,然后在wcf服务中利用linq tosql 查询,查询语句如下:
MonitorDataClassesDataContext db = new MonitorDataClassesDataContext();
var query = from t_User in db.t_User
join t_Rose in db.t_Rose on t_User.RoseID equals t_Rose.RoseID into t_Rose_join
from t_Rose in t_Rose_join.DefaultIfEmpty()
where
t_User.UserID == userid
select new UserRose
{
UserID= t_User.UserID,
UserName= t_User.UserName,
PWD= t_User.PWD,
RoseID= t_User.RoseID,
fdsz= t_User.fdsz,
CreateDate= t_User.CreateDate,
SJDLID= t_User.SJDLID,
RoseName = t_Rose.RoseName
};
return query.ToList<UserRose>();
- wcf+linq to sql中关联查询返回数据问题
- linq To SQl之关联表同步添加数据
- MVC中使用Linq To Sql进行数据查询及分页
- silverlight+wcf+linq to sql项目实战
- silverlight+wcf+linq to sql项目实战
- LINQ系列:LINQ to SQL Select查询
- LINQ to SQL查询句法
- Linq to SQL 查询Tips
- LINQ to SQL 简单查询
- LINQ TO SQL Null 查询
- LINQ TO SQL Null 查询 .
- LINQ TO SQL Null 查询
- LINQ to SQL异步查询
- Linq to sql :查询句法
- Linq to sql查询句法
- Linq to SQL查询数据库
- Linq to XML:查询不到数据的问题
- LINQ To SQL 中查询语句的使用
- C++初始化列表
- Item道具类设计
- onWindowFocusChanged
- 医药行业G-P 系列管理规范的英文缩写及具体内容
- oracle年,季度,月,周,日,分组
- wcf+linq to sql中关联查询返回数据问题
- git和svn的关系比较
- a different object with the same identifier value was already associated with thesession
- 通用高级程序语言的语法内容
- SetUID与SetGID应用
- 在linux中如何执行自己亲手写的shell脚本?
- IE10兼容性问题(frameset的cols属性)
- iOS7--64位计算程序注意点
- C# FormClosing和FormClosed的区别