如何在实体框架中使用LINQ执行此操作?
SELECT TOP 1
'abc' as test
,T_Users.*
FROM T_Users
ORDER BY T_Users.BE_Name
我有这个:
var initme = (
from c in Repo.T_Users
orderby c.BE_Name
select new {
test = "abc",
c
}
).FirstOrDefault();
但是这给了:
object
{
abc
,c
}
而不是
object
{
abc
,c.col_1
,c.col_2
,c.col_3
...
,c.col_N
}
答案 0 :(得分:2)
我不认为这是可能的;我担心你只需要使用:
var initme = (from c in Repo.T_Users
orderby c.BE_Name
select new
{
test = "abc",
c1 = c.col_1,
c2 = c.col_2,
...
}
答案 1 :(得分:2)
你必须在LINQ的select
子句中手动指定所有列,没有更短的方法。
var initme = (from c in Repo.T_Users
orderby c.BE_Name
select new
{
test = "abc",
col1 = c.col_1,
col12 = c.col_2
/....
}
).FirstOrDefault();
答案 2 :(得分:0)
您必须在select中指定所需的所有字段。 或者您可以创建一个自定义对象,例如repoDto,它具有repo表的属性以及您将在查询后填充的测试字段的所有属性。