首页新闻找找看学习计划

entity framework两表关联时关联字段不同,ToString()转换报错

0
悬赏园豆:100 [已解决问题] 解决于 2013-09-25 20:03

我用entity framework 4的code first 在两表关联时如果一个字段为guid一个字段为string用ToString()方法强转时会报错,请问如何关联不同数据类型的字段。如下在on new { EmpGuid = emps.EmpGuid.ToString(), AreaCode = areaCode } equals new { EmpGuid = flowCode.ObjectId, AreaCode = flowCode.AreaCode }时报错了,数值型与字符型转换可以用SqlFunctions的方法实现,非数值型呢?

 

DbSet<tb_Emp_Manager_Zbdl> dbEmp = zbdlcontext.Emp_Manager;
            DbSet<Tb_Corp_CompanyInfo_Zbdl> dbCompany = zbdlcontext.Corp_CompanyInfos;
            DbSet<Tb_FlowCode_Zbdl> dbFlowCode = zbdlcontext.FlowCodes;
            DbSet<Tb_Emp_Post_Zbdl> dbEmpPost = zbdlcontext.Emp_Post;
            var query = from emps in dbEmp
                        join companies in dbCompany on emps.CorpGuid equals companies.CorpUserGuid
                        join flowCode in dbFlowCode on new { EmpGuid = emps.EmpGuid.ToString(), AreaCode = areaCode } equals new { EmpGuid = flowCode.ObjectId, AreaCode = flowCode.AreaCode } into jFlowCodes
                        from flowCodes in jFlowCodes.DefaultIfEmpty()
                        join post in dbEmpPost on emps.EmpGuid equals post.EmpGuid into jPosts
                        from posts in jPosts.DefaultIfEmpty()
                        select new tb_Emp_Manager()
                        {
                            EmpGuid = emps.EmpGuid,
                            AreaCode = emps.AreaCode,
                            FlowCode = flowCodes.FlowCode,
                            corpName = companies.CorpName
                        };
            return query.ToList();

Ixitly的主页 Ixitly | 初学一级 | 园豆:79
提问于:2013-09-25 14:30
< >
分享
最佳答案
0

EF目前还不能像这样使用函数。

收获园豆:100
sinhbv | 老鸟四级 |园豆:2579 | 2013-09-25 15:11

我知道EF目前不能使用ToString方法。有没有相关的方法替代?我这EF5的源码里面看到有构建SQL语句的CAST的表达式树的方法,但是不知道在EF5中如何使用。

Ixitly | 园豆:79 (初学一级) | 2013-09-25 15:19

@Ixitly: EF5里也不行,所以现在的话,只能是尽里采用相同的类型来处理。或者是用toList转换成list再处理。

sinhbv | 园豆:2579 (老鸟四级) | 2013-09-25 15:23

@sinhbv: 绕了个小圈解决了。

Ixitly | 园豆:79 (初学一级) | 2013-09-25 20:03
其他回答(2)
0

楼上说的不错

usday | 园豆:219 (菜鸟二级) | 2013-09-25 15:33
0

http://www.cnblogs.com/humble/p/3320804.html

推荐使用Moon.ORM

月明时勤 | 园豆:746 (小虾三级) | 2013-09-25 16:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册