Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对象中的多个项_C#_Sql_Database_Entity Framework_Asp.net Core - Fatal编程技术网

C# 对象中的多个项

C# 对象中的多个项,c#,sql,database,entity-framework,asp.net-core,C#,Sql,Database,Entity Framework,Asp.net Core,c#:EF关系 .net核心 下午好 我正在努力为营养师创造服务。 我想使Db允许: 一种饮食可以有多种膳食,但 一餐可以是多种饮食 现在我有 public class DietList { public Guid DietListId { get; set; } [Display(Name = "Nazwa diety")] public string DietName { get; set; } public Date

c#:EF关系 .net核心 下午好 我正在努力为营养师创造服务。 我想使Db允许: 一种饮食可以有多种膳食,但 一餐可以是多种饮食 现在我有

public class DietList
    {
        public Guid DietListId { get; set; }
        [Display(Name = "Nazwa diety")]
        public string DietName { get; set; }

        public DateTime AddedDataTime { get; set; }
        public string Describe { get; set; }

        public List<Meal> MealId { get; set; }
    }
公共类目录
{
公共Guid DietListId{get;set;}
[显示(Name=“Nazwa diety”)]
公共字符串名称{get;set;}
public DateTime addedatatime{get;set;}
公共字符串描述{get;set;}
公共列表MealId{get;set;}
}

公共课餐
{
公共Guid MealId{get;set;}
[显示(Name=“Nazwa Posiłku”)]
公共字符串名称{get;set;}
[显示(Name=“Typ Posiłku”)]
公共字符串MealType{get;set;}
[显示(Name=“Składniki”)]
公共字符串组件{get;set;}
公共列表DietListId{get;set;}
}
但它抛出了一个例外: 无法确定“List”类型的导航属性“DietList.MealId”表示的关系。
这个问题有什么解决办法吗?

根据您的描述,饮食和膳食之间有着多对多的关系。 它需要一个额外的/中间的表来存储实体的链接,比如
dietfines
。 然后可以在
DbContext
类中指定关系

你可以参考


属性命名看起来有点混乱。集合名称应为复数形式,表示:

Public List<Meal> Meals { get; set; }
公共列表{get;set;}

根据您的描述,
饮食
膳食
之间存在多对多关系。 它需要一个额外的/中间的表来存储实体的链接,比如
dietfines
。 然后可以在
DbContext
类中指定关系

你可以参考


属性命名看起来有点混乱。集合名称应为复数形式,表示:

Public List<Meal> Meals { get; set; }
公共列表{get;set;}

是dotnet core还是.Net Framework?信息不足,但我认为您需要更改导航属性的名称。这是一个.Net core,我添加了相关信息。是的,请从MealId->MealList和DietListId->DietList更改您的名称。这可能不是你的问题,但它让问题变得更清楚。还有,是否有流畅的代码?如果您使用的是实体框架核心,那么在没有中间表的情况下,您无法对多对多关系进行建模。阅读了解更多信息。你必须创建一个模型类来链接你的
饮食列表
膳食
实例。是dotnet core还是.Net Framework?没有足够的信息,但我认为你需要更改导航属性的名称。这是一个.Net core,我添加了相关信息是的,从MealId->MealList和DietListId->DietList更改您的姓名。这可能不是你的问题,但它让问题变得更清楚。还有,是否有流畅的代码?如果您使用的是实体框架核心,那么在没有中间表的情况下,您无法对多对多关系进行建模。阅读了解更多信息。您必须创建一个模型类来链接您的
DietList
diet
实例。