我先使用代码
我有一个包含categoryId的Group对象。 EF创建Category对象和关系。
当我创建我的组(来自Web请求)时,我从存储库中获取cateogry,搜索categoryid,然后将其分配给组Category对象。
保存我的群组时,会在服务器上创建一个新的类别,但其他所有内容都相同。
我知道他们不是来自同一个背景,因为这个小组是新的,并没有附加到上下文。
该类别创建为EntityWrapperWithoutRelationships。
如何分配类别对象,而不将其保存到EF,因为我只需要保存categoryId(正确保存)。
答案 0 :(得分:0)
如果您的模型如下所示:
public class Group
{
public Guid Id { get; set; }
public string Name { get; set; }
public Guid CategoryId { get; set; }
[ForeignKey("CategoryId ")]
public virtual Category Category { get; set; }
}
public class Category
{
public Guid Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Group> Groups { get; set; }
}
如果您拥有包含有效类别ID的categoryId
变量,则可以创建一个分配了类别的组实体:
_ctx.Groups.Add(new Group() { Name = "name", Id = Guid.NewGuid(), CategoryId = categoryId });
_ctx.SaveChanges();
您提到过,您正在使用存储库,因此我假设您的代码不会直接使用DbContext。