gpt4 book ai didi

map - Linq 选择使用 Valueinjecter 注入(inject)对象

转载 作者:行者123 更新时间:2023-12-02 02:29:07 25 4
gpt4 key购买 nike

我可以即时将 IQueryable 结果转换为注入(inject)的对象吗?

我知道我可以在 Valueinjecter 的帮助下做到这一点:

usercategory uc1 = new usercategory(example);
usercategoryViewData ucVD1 = new usercategoryViewData();
ucVD1.injectFrom(uc1);

所以代替这个:
from u in db.usercategories
where u.id==id
select new usercategoryViewModel {id = u.id, name = u.id, description = u.id};

我想使用类似的东西:
from u in db.usercategories
where u.id==id
select new usercategoryViewModel.InjectFrom(u);

我有 atm 的另一种选择是循环一个 IEnumerable 并用注入(inject)的对象创建一个。

最佳答案

在这里,我展示了两种方法:

        public class Foo
{
public string Name { get; set; }
}

[Test]
public void TestMethod1()
{
var bars = new[] { new { Name = "aaa" }, new { Name = "bbb" } };
IEnumerable<Foo> foos = bars.Select(o => new Foo().InjectFrom(o)).Cast<Foo>();

IEnumerable<Foo> foos2 = from bar in bars
select new Foo().InjectFrom(bar) as Foo;

Assert.AreEqual(bars.First().Name, foos.First().Name);
Assert.AreEqual(bars.First().Name, foos2.First().Name);
}

关于map - Linq 选择使用 Valueinjecter 注入(inject)对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4484245/

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