C# 实体框架-从子列表中选择而不获取顶级对象
在我的模型中,“用户”有“项目” 这也是在拉用户对象,但我不希望它这样做(这是白费力气) 我可以将我的项目模型更改为与用户没有对象关系,但这会破坏其他东西,因为这种关系是其他东西所需要的 实现这一目标的最佳方式是什么?C# 实体框架-从子列表中选择而不获取顶级对象,c#,entity-framework,linq-to-entities,C#,Entity Framework,Linq To Entities,在我的模型中,“用户”有“项目” 这也是在拉用户对象,但我不希望它这样做(这是白费力气) 我可以将我的项目模型更改为与用户没有对象关系,但这会破坏其他东西,因为这种关系是其他东西所需要的 实现这一目标的最佳方式是什么? 在Project类中,我可以同时拥有UserId和用户对象引用吗?用Projects而不是Users开始查询怎么样?我想您可能在项目实体中有一个Fk属性,它引用了相关的用户: var projects=_context.Projects.Where(p=>p.UserId=
在Project类中,我可以同时拥有UserId和用户对象引用吗?用
Projects
而不是Users
开始查询怎么样?我想您可能在项目
实体中有一个Fk属性,它引用了相关的用户
:
var projects=_context.Projects.Where(p=>p.UserId==someUserId);
因此,您的项目
实体应该具有这两个属性
public class Project
{
//other properties
//FYI, EF by a name convention will use this property as FK,
//but is a good practice specify explicitly which is the FK in a relationship
[ForeignKey("User")]
public int UserId{get;set;}
public virtual User User{get;set;}
}
使用
。选择并仅选择项目“我可以同时拥有用户ID和用户对象引用”如何?当然可以。此外,这是一种常见的做法。看看,它可能会给你一些启示。是的,这基本上回答了我关于两者兼有的问题,这确实解决了问题。希望这不会首先影响代码和表的创建。
var projects=_context.Projects.Where(p=>p.UserId==someUserId);
public class Project
{
//other properties
//FYI, EF by a name convention will use this property as FK,
//but is a good practice specify explicitly which is the FK in a relationship
[ForeignKey("User")]
public int UserId{get;set;}
public virtual User User{get;set;}
}