C#在asp.net-mvc中编辑linq表达式中的对象
假设我有以下代码:C#在asp.net-mvc中编辑linq表达式中的对象,c#,asp.net-mvc,C#,Asp.net Mvc,假设我有以下代码: return (from p in repository.GetPostMedia() select p).ToList(); 但是在对象p的值中,我想注入一个属性,计算如下: MediaUrl = App.Resource["MediaPath"] + p.Id + "." + p.Ext; public ActionResult PostMediaList(int postId) { var media = postService.GetMedia(); //th
return (from p in repository.GetPostMedia() select p).ToList();
但是在对象p的值中,我想注入一个属性,计算如下:
MediaUrl = App.Resource["MediaPath"] + p.Id + "." + p.Ext;
public ActionResult PostMediaList(int postId)
{
var media = postService.GetMedia(); //the call to the code above.
return Json(media);
}
此代码位于ASP.NET MVC应用程序的服务部分。它应该生成url属性并将其附加到返回的对象。如果控制器是放置此逻辑的最佳位置,我将如何使用以下代码来完成此操作:
MediaUrl = App.Resource["MediaPath"] + p.Id + "." + p.Ext;
public ActionResult PostMediaList(int postId)
{
var media = postService.GetMedia(); //the call to the code above.
return Json(media);
}
介质是从存储库中的LINQ到SQL生成的。另外,我希望能够在以后更改媒体文件的存储路径,只需更改web项目或服务项目即可。根据我对您问题的理解,您可以返回匿名类型,而不是任何p
return (from p in repository.GetPostMedia()
select new { Media = p,
MediaUrl = App.Resource["MediaPath"] + p.Id + "." + p.Ext } ).ToList();
根据我对你问题的理解,你可以返回一个匿名类型,而不是p
return (from p in repository.GetPostMedia()
select new { Media = p,
MediaUrl = App.Resource["MediaPath"] + p.Id + "." + p.Ext } ).ToList();
使用所需的属性创建一个包装类,并随查询返回该类的集合 非常非常基本的骨骼示例:
class MyMedia
{
public MyMedia(Media m)
{
this.Media = m;
this.MediaUrl = App.Resource["MediaPath"] + m.Id + "." + m.Ext;
}
public Media Media
{
get; set;
}
public string MediaUrl
{
get; set;
}
}
然后,在您的方法中:
return (from p in repository.GetPostMedia() select new MyMedia(p)).ToList();
使用所需的属性创建一个包装类,并随查询返回该类的集合 非常非常基本的骨骼示例:
class MyMedia
{
public MyMedia(Media m)
{
this.Media = m;
this.MediaUrl = App.Resource["MediaPath"] + m.Id + "." + m.Ext;
}
public Media Media
{
get; set;
}
public string MediaUrl
{
get; set;
}
}
然后,在您的方法中:
return (from p in repository.GetPostMedia() select new MyMedia(p)).ToList();
为什么不添加一个属性将MediaUrl返回到媒体类?没有媒体类。它是从linq到sql生成的。为什么不添加一个将MediaUrl返回到媒体类的属性呢?没有媒体类。它是从linq到sql生成的。这个函数的返回类型是什么?没有办法在其他地方获得属性。@Sapph:是的,如果不执行一些恼人的返回对象,然后将其强制转换为任何对象,这个解决方案可能不会直接起作用,但看起来Shawn只是在找人指出匿名类型的存在。这个函数的返回类型是什么?没有办法在其他地方获得属性。@Sapph:是的,如果不执行一些恼人的返回对象,然后将其强制转换为其他对象,这个解决方案可能不会直接起作用,但看起来Shawn只是在找人指出匿名类型的存在。