asp.net-mvc – 错误:无法在LINQ to Entities查询中构造实体或复杂类型
发布时间:2020-05-23 08:48:06 所属栏目:asp.Net 来源:互联网
导读:我有一个与MVC连接查询的问题,我不知道为什么. The entity or complex type ‘Tusofona_Website.Models.site_noticias’ cannot be constructed in a LINQ to Entities query. 我的控制器: private TusofonaDBs db = new TusofonaDBs(); /
|
我有一个与MVC连接查询的问题,我不知道为什么.
我的控制器: private TusofonaDBs db = new TusofonaDBs();
//
// GET: /DestaquesMain/
public ActionResult Index()
{
var query = (from sd in db.site_desquesnoticias
join sn in db.site_noticias on sd.IDNoticia equals sn.IDNoticia
where sn.Destaque == 1
select new site_noticias {
CorpoNoticia = sn.CorpoNoticia,TituloNoticia = sn.TituloNoticia
}).ToList();
//return View(db.site_desquesnoticias.ToList());
return View(query);
}
我的型号: public class site_destaquesnoticias
{
[Key]
public Int32 IDDestaque { get; set; }
public Int32 IDNoticia { get; set; }
public string Foto { get; set; }
}
public class site_noticias
{
[Key]
public Int32 IDNoticia { get; set; }
public string CorpoNoticia { get; set; }
public string TituloNoticia { get; set; }
public string Foto { get; set; }
public Int32 Destaque { get; set; }
}
public class TusofonaDBs : DbContext
{
public DbSet<site_destaquesnoticias> site_desquesnoticias { get; set; }
public DbSet<site_noticias> site_noticias { get; set; }
}
有人可以帮帮我吗? 解决方法您无法投影到映射的实体(请参阅 this答案).但是,您可以做以下几件事: 1)选择匿名类型而不是实体,如: var query = (from sd in db.site_desquesnoticias
join sn in db.site_noticias on sd.IDNoticia equals sn.IDNoticia
where sn.Destaque == 1
select new {
CorpoNoticia = sn.CorpoNoticia,TituloNoticia = sn.TituloNoticia
}).ToList();
2)反转您的查询以直接选择site_noticias.这取决于您要检索的查询和数据.例如,您可以查看以下内容是否有效并为您提供所需的数据: var query = (from sd in db.site_desquesnoticias
join sn in db.site_noticias on sd.IDNoticia equals sn.IDNoticia
where sn.Destaque == 1
select sn).ToList();
3)使用一些DTO(数据传输对象)将要选择的属性投影到: public class SiteNoticiasDTO{
public string CorpoNoticia {get;set;}
public string TituloNoticia {get;set;}
}
var query = (from sd in db.site_desquesnoticias
join sn in db.site_noticias on sd.IDNoticia equals sn.IDNoticia
where sn.Destaque == 1
select new SiteNoticiasDTO {
CorpoNoticia = sn.CorpoNoticia,TituloNoticia = sn.TituloNoticia
}).ToList(); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 2008-10-30 15:28
- asp.net – 来自web.config的Asp .Net自定义成员资格参数
- asp.net-mvc – 为什么我要将WCF与MVC一起使用?
- ASP.NET MVC,Ninject,每个请求多个构造函数的单个实例
- asp.net-mvc – RenderAction调用错误的动作方法
- asp.net – 什么时候以明文形式存储密码是个好主意?
- asp.net-mvc – ASP.NET MVC 2发行版本的实际调试符号
- asp.net – Request.ServerVariables [“REMOTE_ADDR”]足够
- asp.net – 请求在IIS工作进程中存在于RequestAcquireState
- asp.net-mvc – Visual Studio 2013无法打开Razor视图 – ‘
推荐文章
站长推荐
热点阅读
