gpt4 book ai didi

c# - 将 linq 匿名对象传递给函数

转载 作者:行者123 更新时间:2023-11-30 20:46:28 26 4
gpt4 key购买 nike

我在我的 Controller 上有这个 Linq 查询,它会给我一个列表中的对象,我需要将这个对象传递给另一个类中的函数,该函数将使用它。

这是我的 Linq 查询:

var cursos = (from c in db.Curso
join cc in db.CursoCategoria on c.cursoCategoriaId equals cc.ID
where c.ativo == 1 && c.destaque == 1
select new { ID = c.ID,
nome = c.nome,
imgAbre = c.imagemAbre,
imgFecha = c.imagemEfeito,
cURL = c.URL,
ccURL = cc.URL,
cCor = cc.cor}).Take(10).ToList();

我是这样调用函数的:

var objHelper = new HelperController();
siteVM.lstCursosWall = Json(objHelper.MontaWallCurso());

这是我在 HelperController 中的功能,这个类也是一个 Controller,我之所以这样是因为我的项目有几个辅助函数和 ajax 方法:

public string MontaWallCurso()
{
//TODO STUFF
}

那么,如果我没有类型,我该如何传递这个对象呢?

注意:我正在使用我使用 EF 从我的数据库创建的 DAL 模型,不知道这是否有用。

编辑

所以我改变了我的方法并创建了一个类来填充和传输数据,但现在我在将 linq 结果传递给对象时遇到了问题。

var siteVM  = new SiteViewModel();
var cursos = new List<CursoWall>();
var lCursos = (from c in db.Curso
join cc in db.CursoCategoria on c.cursoCategoriaId equals cc.ID
where c.ativo == 1 && c.destaque == 1
select new { ID = c.ID,
nome = c.nome,
imgAbre = c.imagemAbre,
imgFecha = c.imagemEfeito,
cURL = c.URL,
ccURL = cc.URL,
cCor = cc.cor}).Take(10).ToList();

cursos.AddRange(lCursos);

类(class):

public class CursoWall
{
public int ID { get; set; }
public string nome { get; set; }
public string imgAbre { get; set; }
public string imgFecha { get; set; }
public string cURL { get; set; }
public string ccURL { get; set; }
public string cCor { get; set; }
}

最佳答案

不能。在这种情况下,您需要为 DTO 定义一个简单的“Poco”类型以进行数据传输。

http://rlacovara.blogspot.nl/2009/03/what-is-difference-between-dto-and-poco.html

关于c# - 将 linq 匿名对象传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26893167/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com