首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

,linq语句的写法

2012-12-27 
求助,linq语句的写法。本人不太懂linq求助:var Data from p in CRMServices.Context.usernameselect new{i

求助,linq语句的写法。
本人不太懂linq求助:
            var Data= from p in CRMServices.Context.username
                           select new
                           {
                               id=p.id,
                               name=p.name,
                               team1=p.team1.team1,
                               password = "<a href="/Qxgl/ReSetPassword?userid=" + Convert.ToString(p.id) + "">重置</a>"
                           };
这项写出来,查不到数据
            var Data= from p in CRMServices.Context.username
                           select new
                           {
                               id=p.id,
                               name=p.name,
                               team1=p.team1.team1
                           };
这样写出来。OK
sql语句 select id,name,team1,'<a href=/Qxgl/ReSetPassword?userid='+id+'>重置</a>' as 密码 from username
主意id是int类型,如果是string+string 是不会出错的。
初学linq,希望高人指点一二
[最优解释]
不是linq 不支持.ToString()
是LINQ TO EF不支持
你的做法是变相的转成了LINQ TO Object
当数据库中数据量比较大时就出问题了

我在3楼的写法已经去掉.ToString了啊


[其他解释]

 var Data= from p in CRMServices.Context.username select p

[其他解释]
 team1=p.team1.team1

这个p.team1.team1神马东东
[其他解释]
 var Data= from p in CRMServices.Context.username
  select new


  {
  id=p.id,
  name=p.name,
  team1=p.team1.team1,
  password = "<a href="/Qxgl/ReSetPassword?userid=" + p.id + "">重置</a>"
  };

你是linq to sql还是linq to ef?
[其他解释]
linq  to ef把。。
p.team1.team1是导航属性
[其他解释]

引用:
C# code

 team1=p.team1.team1

这个p.team1.team1神马东东

那个是导航属性,导航到另外一个表的team1字段
[其他解释]
没人帮忙下吗?
[其他解释]
3楼的不行?
[其他解释]
引用:
3楼的不行?

不行,我查到原因了。Linq不支持tostring()函数
要先将内容查出来转成list,在查才能支持tostring()函数。

            List<username> lstuser = CRMServices.Context.username.ToList<username>();
            var GridData = from p in lstuser
                           select new
                           {
                               p.id,
                               p.name,
                               team=p.team1.team1,
                               password = "<a href="/Qxgl/ReSetPassword?userid=" + p.id.ToString() + "">重置</a>"
                           };
[其他解释]
引用:
不是linq 不支持.ToString()
是LINQ TO EF不支持
你的做法是变相的转成了LINQ TO Object
当数据库中数据量比较大时就出问题了

我在3楼的写法已经去掉.ToString了啊

+1
[其他解释]
引用:
不是linq 不支持.ToString()
是LINQ TO EF不支持
你的做法是变相的转成了LINQ TO Object
当数据库中数据量比较大时就出问题了

我在3楼的写法已经去掉.ToString了啊

我知道你是去掉了.ToString 可是我注明ID是INT哦。你可以测试下,才C#中 INT与String相加是没有sql中的效果的,会出问题。我再多查查资料,好像Linq TO EF 似乎可以调用sql函数,只是暂时没去研究。

热点排行