C# 如何在模型中查询数据库?
注意:这是对上一个问题的完整重写 我有一个模型C# 如何在模型中查询数据库?,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,注意:这是对上一个问题的完整重写 我有一个模型 class Paragraph { public int Id { get; set; } public int SectionId { get; set; } public virtual Section Section { get; set; } public int Major { get; set; } public int Option { get; set; } public ICo
class Paragraph
{
public int Id { get; set; }
public int SectionId { get; set; }
public virtual Section Section { get; set; }
public int Major { get; set; }
public int Option { get; set; }
public ICollection<Paragraph> Options
{
get
{
// What I'm trying to return is:
//
// Section.Paragraphs
// .Where(p => p.Major == Major && p.Option != Option)
// .ToList()
}
}
}
关于如何做到这一点有什么建议吗?谢谢。您希望分区属性为非空。假设您有一个Section类,该类具有List或类似类型的属性,因为您将这种情况描述为一个模型属于另一个模型
如果你认为仅仅因为你的段落包含在一个章节中,你就可以免费得到某种互惠,那你就错了。你必须自己维护这种关系。我解决了它。呜呜!我所做的只是检查该节是否为空,如果为空,我返回一个空白列表。因此,选择权变得越来越重要
需要更多的代码。如何在“选项”集合中设置节?如果没有您试图实现的内容,就无法在此处提供帮助。在选项集合中设置节是什么意思?根据您的更新,设置节不起作用是什么意思?我遇到了与以前相同的错误,该节为空。DocumentDb.Sections是否包含节?如果是,我想知道sectionId是否指向正确的表。好的。但是,我该怎么做呢?向我们展示将段落添加到节中的代码。这可能是合乎逻辑的地方。一个章节和段落之间存在一对多的关系。我目前正在使用一个初始值设定项来填充由MVC自动处理的数据。您使用的是ORM吗?l2s、实体框架等。ORM倾向于处理这类事情,但如果您自己滚动它,则必须在将段落添加到小节的位置设置Section属性。我不知道你说的是什么意思,我目前正在使用初始值设定项来填充数据……我使用的是实体框架,实体中的初始值设定项基本上在每次构建应用程序时填充数据库。
Where(p => p.Major == Major && p.Option != Option)
public ICollection<Paragraph> Options
{
get
{
if (Section != null)
{
return Section.Paragraphs
.Where(p => p.Major == Major && p.Option != Option)
.ToList();
}
else
{
return new List<Paragraph>();
}
}
}