C# 查看linq中返回数据的模型列表
我有一个视图模型,它包含普通属性和订阅列表的组合C# 查看linq中返回数据的模型列表,c#,entity-framework,linq,linq-to-entities,C#,Entity Framework,Linq,Linq To Entities,我有一个视图模型,它包含普通属性和订阅列表的组合 public class ProjectViewModel { public String ProjectId { get; set; } public String Name { get; set; } public List<Subscriptions> Subscriptions { get; set; } } public class Subscriptions { public long I
public class ProjectViewModel
{
public String ProjectId { get; set; }
public String Name { get; set; }
public List<Subscriptions> Subscriptions { get; set; }
}
public class Subscriptions
{
public long Id { get; set; }
[MaxLength(40)]
public string ProjectId { get; set; }
public string SubscriptionId { get; set; }
}
您可以执行以下操作:
但是,如果您使用以下方法来构建查询,则会更简单:
var query=from p in DataContext.Project
select new ProjectViewModel {
ProjectId = p.ProjectId,
Name = p.Name,
Subscriptions=p.Subscriptions.ToList()
};
您可以执行以下操作:
但是,如果您使用以下方法来构建查询,则会更简单:
var query=from p in DataContext.Project
select new ProjectViewModel {
ProjectId = p.ProjectId,
Name = p.Name,
Subscriptions=p.Subscriptions.ToList()
};
group
yourc
byProjectId
group
yourc
byProjectId
。。。。'ObjectContent'1'类型未能序列化'application/json'内容类型的响应正文;odata=最小元数据;流=真;字符集=utf-8.,“类型”:“System.InvalidOperationException”,“stacktrace”:“internalexception”:{“message”:”在实体集“Project”上的实体类型“SSAStatusService.Domain.ViewModel.ProjectViewModel”中找不到导航属性“Subscription”的导航链接工厂。请尝试在EntitySetConfiguration上调用HasNavigationPropertyLink。\r\n参数名称:navigationPropertywell,这与O使用的序列化程序相关数据。我没有太多使用该技术的经验,但我建议为订阅创建一个ViewModel类,以避免导航属性出现此问题,并仅获取您需要的数据。如果我找到其他答案,我会让您知道,但如果您愿意,您可以创建一个新问题来解决此问题,我几乎肯定您可以修复使用此选项后,配置OData会给我带来另一个问题。'ObjectContent`1'类型未能序列化内容类型'application/json;OData=minimalmetadata;streaming=true;charset=utf-8'。,'type:'System.InvalidOperationException'、'stacktrace:'、'internalexception:{“message”:在实体集“Project”上的实体类型“SSAStatusService.Domain.ViewModel.ProjectViewModel”中找不到导航属性“Subscription”的导航链接工厂。请尝试在EntitySetConfiguration上调用HasNavigationPropertyLink。\r\n参数名称:navigationPropertywell,这与O使用的序列化程序相关数据。我没有太多使用该技术的经验,但我建议为订阅创建一个ViewModel类,以避免导航属性出现此问题,并仅获取您需要的数据。如果我找到其他答案,我会让您知道,但如果您愿意,您可以创建一个新问题来解决此问题,我几乎肯定您可以修复那是奥达塔。
var query=from p in DataContext.Project
select new ProjectViewModel {
ProjectId = p.ProjectId,
Name = p.Name,
Subscriptions=p.Subscriptions.ToList()
};