显示额外的数据到表字段-实体框架4
本文关键字:字段 实体 框架 数据 显示 | 更新日期: 2023-09-27 17:50:38
我有Calls
表:
Call(id, reason_id, company_id, text)
我有Reason
表
Reason(id, name)
我有Company
表:
Company(id, name)
Calls
有Reason
和Company
的外键
我正在使用实体框架4,我想显示呼叫列表,并为每个呼叫显示文本,原因名称和公司名称。
类似于内连接。
我已经将表添加到edmx文件中。我怎样才能得到我需要的数据?哪个POCO对象将保存外部数据(公司名称和原因名称)?
也许你可以使用ViewModel的概念:
//Create CallViewModel contains ReasonName & CompanyName
public class CallViewModel
{
public int id { get; set; }
public string Text{ get; set; }
public string ReasonName { get; set; }
public string CompanyName { get; set; }
}
public List<CallViewModel> YourMethid()
{
using (Entities _entities = new Entities())
{
var result = (from s in _entities.Call.Include("Reason").Include("Company")
select new CallViewModel
{
id = s.id,
Text = s.Text,
CompanyName = s.Company.name,
ReasonName = s.Reason.name
}).ToList();
return result;
}
}
=======================//从_entities调用表中选择所有数据
var result = (from s in _entities.Call.Include("Reason").Include("Company") select s).ToList();
//获取第一个数据的ReasonName
var ReasonName = result[0].Reason.ReasonName;
//获取第一个数据的CompanyName
var CompanyName = result[0].Company.CompanyName;
试试这个:
using (YourEntities ctx = new YourEntities())
{
//In this example, "Reason" and "Company" are the name of
//your navigation properties
return ctx.Calls.Include("Reason").Include("Company").ToList();
}
这将给你一个List<Call>
。所以每个Call都有Call.Reason.Name
或类似的东西,这取决于你的模型。