多对多 Entity Framework 核心 6(结点 table 未生成)
Many-to-Many Entity Framework Core 6 (junction table not generated)
我刚刚开始使用 Entity Framework Core 6。
我正在使用一个示例数据库,我在其中建立了多对多关系。
我在 SQL 服务器上创建了我的数据库。我创建了三个 table:Service、Document、ServiceDocs(用作 Junction Table)。
然后我做了:
scaffolf-dbcontext
两个 classes 都已生成,除了联结 table ServiceDocs。
我的问题是:如何在没有结点 table 的 class 的情况下向结点 table 添加元素并从中获取数据?
感谢您的帮助。
Class document:
public partial class Document
{
public Document()
{
Services = new HashSet<Service>();
}
public Guid DocumentId { get; set; }
public string? DocTitre { get; set; }
public virtual ICollection<Service> Services { get; set; }
}
public partial class Service
{
public Service()
{
Docs = new HashSet<Document>();
}
public Guid ServiceId { get; set; }
public string? Libelle { get; set; }
public virtual ICollection<Document> Docs { get; set; }
}
这里是一些截图:
Database diagram
Document
Service
我找到了如何获取数据的答案:
var services = await _context.Services
.Where(s => s.ServiceId == Id)
.Include(s =>s.Docs)
.ToListAsync();
return services;
谢谢。
我刚刚开始使用 Entity Framework Core 6。 我正在使用一个示例数据库,我在其中建立了多对多关系。
我在 SQL 服务器上创建了我的数据库。我创建了三个 table:Service、Document、ServiceDocs(用作 Junction Table)。
然后我做了:
scaffolf-dbcontext
两个 classes 都已生成,除了联结 table ServiceDocs。 我的问题是:如何在没有结点 table 的 class 的情况下向结点 table 添加元素并从中获取数据?
感谢您的帮助。
Class document:
public partial class Document
{
public Document()
{
Services = new HashSet<Service>();
}
public Guid DocumentId { get; set; }
public string? DocTitre { get; set; }
public virtual ICollection<Service> Services { get; set; }
}
public partial class Service
{
public Service()
{
Docs = new HashSet<Document>();
}
public Guid ServiceId { get; set; }
public string? Libelle { get; set; }
public virtual ICollection<Document> Docs { get; set; }
}
这里是一些截图: Database diagram Document
Service
我找到了如何获取数据的答案:
var services = await _context.Services
.Where(s => s.ServiceId == Id)
.Include(s =>s.Docs)
.ToListAsync();
return services;
谢谢。