我有一个名为Pictures
的视图模型,
Public class PicturesViewModel
{
public string Name;
Public List<String> FileNames;
}
,我在SQL Server数据库中有2个表,Names
和FileNames
,其中idname
中的FileNames
是指向id
中的外键Names
。
This screenshot shows the 2 tables
我在ASP.NET Core MVC项目中使用Entity Framework Core。我必须使用数据库优先方法,并且我想在控制器中填充PicturesViewModel
类并将其发送到视图。
问题是我找不到使用linq和Entity Framework从PicturesViewModel
创建DbContext
对象的方法。我可以考虑的唯一方法是使用C#(for或foreach)并通过2个步骤来实现:
Name
FileNames
Linq或Entity Framework中还有另一种方法可以根据dbContext
中的内部联接来创建列表吗?
答案 0 :(得分:0)
型号:
Public class Filenames
{
public decimal idName { get; set; }
public string fileNames { get; set; }
public Names Names { get; set; }
}
Public class Names
{
public decimal id { get; set; }
public string Name { get; set; }
}
基本上:
使用Join basic(错误)=>
Context.Names.Join(Context.Names.Filenames,
nam => nam.id,
fil => fil.idName,
(nam, fil) => new { filename = fil, names = nam });
具有导航属性(在DB First中常见)=>
Context.Names.Include("Filenames");
Context.Names.Include(ent => ent.Filenames);