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 是一个整数数组,但它不允许我分配一个空数组 与零。 如有帮助,我们将不胜感激。
在类的空构造函数中初始化数组:
public class ProviderMeta
{
//...
public ProviderMeta()
{
Roles = new int[]{0};
}
}
并将其从投影中移除
select new ProviderMeta
{
LoginId = user.LoginId,
AgencyId = user.AgencyId,
Application = user.Application,
UserId = user.UserId,
Name = agencySnapshot.Name,
//Roles = new int[0], remove this line
Cluster = app.ClusterId ?? 0,
Created = app.Created,
TitleType = user.TitleType,
Feature = (foundFeature == null ? 0 : foundFeature.Feature)
}).ToList();
您可以选择一个空数组进行初始化:
new string[] {}
这与选择包含项目的数组时的效果相同:
IList<Bar> empty = context.Foo.Select(foo => new Bar
{
// ...
Roles = new int[] {},
// ...
}).ToList();
IList<Bar> withRoles = context.Foo.Select(foo => new Bar
{
// ...
Roles = new [] { 1, 2, 3},
// ...
}).ToList();