【问题标题】:Linq to entities(latest entity framework) get many to many and one to many relationLinq to entity(最新的实体框架)获得多对多和一对多关系
【发布时间】:2014-02-28 10:14:58
【问题描述】:

我有一个 quotation 表,上面有 quoteid , QuotationNo

我有一个带有 berthid 和 berthname 的 泊位

我有第三张表 quotationberth 带有quotationid 和berthid

我有一个视图模型

public class QuotationViewModel
{      
    public int QuotationId { get; set;}
    public string QuotationNo { get; set; }     
    public List<quotationberth> quoationbirth{ get; set; }      
} 

我怎样才能得到这个视图模型?什么是最合适的方式?这是查询的合适方式吗

from quot in _context.Quotations
 select new QuotationViewModel
                {
                    QuotationId = quot.QuotationId,
                    QuotationNo = quot.QuotationNo,
                    quoationbirth=quot.QuotationBerth. (what comes here)

                }).ToList();

【问题讨论】:

  • 首先为什么是 Id 和 No,然后是 Id 和 No 的列表?当您填充列表时,什么都没有,嗯? quot.QuotationBirth 是一个列表吗?附言我相信,要从多对多的一侧到另一侧,您通常会进行左外连接。
  • 如果是 IQuaryable,我认为应该是 "quoationbirth=quot.QuotationBerth.ToList()" 你能写出你的数据库设计吗 谢谢。

标签: c# asp.net-mvc linq entity-framework entity-framework-6


【解决方案1】:

您的属性和类型名称的拼写有点不一致,并且您没有包含您的Quotation 实体代码,但如果我假设Quotation 中的子集合的名称:

from quot in _context.Quotations
select new QuotationViewModel
            {
                QuotationId = quot.QuotationId,
                QuotationNo = quot.QuotationNo,
                quoationbirth=quot.QuotationBerths
            }).ToList();

我假设QuotationBerthsquotationberth 实体在Quotation 实体中的集合的名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-24
    • 2016-12-15
    • 2011-04-01
    • 2014-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    相关资源
    最近更新 更多