gpt4 book ai didi

c# - 带有对象列表的 Entity Framework 类

转载 作者:太空宇宙 更新时间:2023-11-03 21:06:09 26 4
gpt4 key购买 nike

我在 C# 中使用 EF 6.0 和 ASP.NET MVC,我有两个类 - projectfeature:

public class project
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid id { get; set; }

[Required]
public string aliasName { get; set; }

public virtual List<feature> features { get; set; }
}

public class feature
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int id { get; set; }

[Required]
public string name { get; set; }

[DataType(DataType.MultilineText)]
public string description { get; set; }
}

最终用户将为每个项目选择不止一项功能,并且每个项目可以包含不同的功能。

我如何在 EF 中设置它并将这个选择存储在数据库中?

dbContext 我现在有:

public DbSet<project> Projects { get; set; }
public DbSet<feature> Features { get; set; }

最佳答案

现在,您正试图将整个“功能”列表存储到“项目”数据库中,而您需要存储的只是每个“功能”的唯一标识符,即 Feature.id 属性。所以“项目”可以是:

public class project
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid id { get; set; }

[Required]
public string aliasName { get; set; }

[ForeignKey("Features")]
public virtual List<int> featureIds { get; set; }
}

当您需要特定的特征数据时,只需查询特征数据库以获取特定的特征id。 Here is有关在实体中使用外键的更多信息。

关于c# - 带有对象列表的 Entity Framework 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41048304/

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