实体框架在现有列表中添加新属性
本文关键字:新属性 属性 添加 框架 列表 实体 | 更新日期: 2023-09-27 18:05:10
我使用这段代码,以便通过数据库查询并将值插入到模型中:
UserContext user = new UserContext();
List<MitarbeiterDataModel> mitarbeiter = new List<MitarbeiterDataModel>();
var users = user.Users.Select(x => new MitarbeiterDataModel{ Id = x.Id, Vorname = x.Vorname, Nachname = x.Nachname, Studio = x.Studio }).ToList();
mitarbeiter.AddRange(users);
现在我有一个员工列表,看起来像这样,例如:
------------------------------
| Id | Name | Opportunities |
------------------------------
| 1 | Tom | |
------------------------------
| 2 |John | |
------------------------------
我的目标是填补机会栏。问题是这些值来自另一个表。所以我得稍后再加上它们。有人能告诉我怎么做吗?
mitarbeiter.Where(x => x.Id == 1).Select(x => new MitarbeiterDataModel { Gelegenheiten = 2 });
"Gelegenheiten"意味着机会,并且存在于我的数据模型MitarbeiterDataModel
中。我用这种方法试过了……
就像Jeff Orris说的,你可以连接两个表,然后像这样创建你的viewModels:
UserContext context = new UserContext();
List<MitarbeiterDataModel> mitarbeiter = new List<MitarbeiterDataModel>();
var users = (
from user in context.Users
join opp in context.Opportunities on user.OppurtunityId equals opp.OppurtunityId
select new MitarbeiterDataModel {
Id = user.Id,
Vorname = user.Vorname,
Nachname = user.Nachname,
Studio = user.Studio,
Gelegenheiten = opp.SomeField
})
.ToList();
mitarbeiter.AddRange(users);
当然,我不知道你的课的内容,所以我编了一些字段。
对于Legacy数据,我认为您可以使用SQL游标来处理它,如
声明@Opportunitiesint
声明updatetrigger cursor for从Gelegenheiten中选择机会***
updatetrigger开放从updatetrigger获取next到@Opportunities虽然@@fetch_status = 0
开始
update employees set Opportunities =@Opportunities where ***
从updatetrigger获取next到@Opportunities
结束释放updatetrigger