C# 如何使用EF LINQ从表中选择所有列和自定义列?
如何在实体框架中使用LINQ实现这一点C# 如何使用EF LINQ从表中选择所有列和自定义列?,c#,linq,entity-framework,entity-framework-5,C#,Linq,Entity Framework,Entity Framework 5,如何在实体框架中使用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 } ).FirstOrDefau
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
}
我认为这是不可能的;恐怕您只能使用:
var initme = (from c in Repo.T_Users
orderby c.BE_Name
select new
{
test = "abc",
c1 = c.col_1,
c2 = c.col_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();
必须在“选择”字段中指定所需的所有字段。
或者,您可以创建一个自定义对象,如repoDto,它具有所有属性repo table的属性以及查询后要填充的测试字段。这太糟糕了,我希望有办法避免这种情况。