【发布时间】:2017-05-08 19:52:03
【问题描述】:
select new ProviderMeta
{
LoginId = user.LoginId,
AgencyId = user.AgencyId,
Application = user.Application,
UserId = user.UserId,
Name = agencySnapshot.Name,
Roles = new int[0],
Cluster = app.ClusterId ?? 0,
Created = app.Created,
TitleType = user.TitleType,
Feature = (foundFeature == null ? 0 : foundFeature.Feature)
}).ToList();
这里,Roles 是一个整数数组,但它不允许我分配一个空数组 与零。 帮助将不胜感激。
【问题讨论】:
-
你所说的“空数组为零”是什么意思?您要的是一个空的、长度为零的整数数组,还是一个具有单个零值元素的整数数组?
-
抱歉给您带来了困惑。它的整数数组,单个元素的值为零
-
那么你需要
new int[1]或者new int[] { 0 }吗?如果您的 LINQ 正在被转换为 SQL 查询,我仍然可以看到它不受支持,尽管它似乎在 LINQ to SQL 中对我有用。您可以尝试创建一个临时变量 (var emptyRoles = new int[] { 0 };) 并使用它。 -
在投影到具有不可翻译表达式的自定义类型之前,使用 ToList() 或 AsEumerable() 终止 EF 查询。
-
@octavioccl 嘿,稍后添加构造函数。感谢您的建议。
标签: c# arrays entity-framework linq linq-to-entities