1

我正在使用 c# 和 ADO .NET 实体数据模型开发应用程序,我有一个表 Articles(idArticle, nameArticle, statusArticle, idSubject),与另一个表 Subjects(idSubject,nameSubject) 相关。Subjects.idSubject = 文章.idSubject。检索第一篇 statusArticle=0 的文章后:

Articles firstArticle = db.Articles.FirstOrDefault(u => u.statusArticle == false);
    if (firstArticle != null)
    {
        textBox1.Text = firstArticle.nameArticle;
    } 

我想在另一个文本框中显示本文主题的名称(nameSubject),如何选择本文的名称主题并在文本框中显示?

4

2 回答 2

1

不确定我是否正确理解了您,但您是否累了:

Articles firstArticle = db.Articles.FirstOrDefault(u => u.statusArticle == false);
if (firstArticle != null)
{
    textBox1.Text = firstArticle.nameArticle;
    textBox2.Text = firstArticle.Subject.nameSubject;
} 

主题必须是您实体上导航属性的名称。如果您在 Visual Studio 中使用智能感知查看 firstArticle 上的属性,应该有一个属性返回一个主题,该主题将链接到该项目。

您是在使用代码优先、数据库优先还是模型优先的 EF 方法?其中每一个都有方法来检查和配置导航属性将被调用以及它是否存在 - 我首先假设 DB 和我记得的标准命名。

于 2013-05-12T12:19:15.800 回答
0

如果 Articles 类没有关联/导航属性,您可以试试这个:

    Articles(idArticle, nameArticle, statusArticle, idSubject)
    Subjects(idSubject,nameSubject)

    Articles firstArticle = db.Articles.FirstOrDefault(u => u.statusArticle == false);
    if (firstArticle != null)
    {
        textBox1.Text = firstArticle.nameArticle;
        Subject subject = db.Subjects.FirstOrDefault(s => s.idSubject == firstArticle.idSubject);
        textBox2.Text = (subject != null) ? subject.nameSubject : string.Empty;
    } 
于 2013-05-12T12:34:06.970 回答