gpt4 book ai didi

c# - EF Code First Fluent Mapping : 0-1 to Many: HasOptional(),同表

转载 作者:太空狗 更新时间:2023-10-30 00:52:55 26 4
gpt4 key购买 nike

我有一个“类别”实体如下:

 public class Category
{
//<Summary>
//Fields...
//</Summary>

public Guid CategoryId { get; set; }

public string CategoryName { get; set; }

public bool IsDelete { get; set; }

// Fields for relationships
public Guid MainCategoryId { get; set; }
public Category MainCategory { get; set; }

public virtual ICollection<Category> ChildCategories { get; set; }
}

如上所示,我想在同一个表中创建 0 一对多关系。我为此使用了 Fluent API,如下所示:

 HasRequired(category => category.MainCategory)
.WithMany(category => category.ChildCategories)
.HasForeignKey(category => category.MainCategoryId);

但它是一对多,而不是0-1对多。我使用 HasOptional,但它给我一个错误。

如何使用 Fluent API 执行此操作?

谢谢回复

最佳答案

使 MainCategoryId 属性可为空:

public Guid? MainCategoryId { get; set; }

然后你可以使用HasOptional方法:

HasOptional(category => category.MainCategory)
.WithMany(category => category.ChildCategories)
.HasForeignKey(category => category.MainCategoryId);

关于c# - EF Code First Fluent Mapping : 0-1 to Many: HasOptional(),同表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18929387/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com