我正在使用此代码来查询数据库并将值插入模型中:
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'意味着机会,并且存在于我的dataModel MitarbeiterDataModel
中。
我用这种方式试了一下......虽然没有成功:(
答案 0 :(得分:1)
就像Jeff Orris所说,你可以加入两个表,然后像这样创建你的viewModel:
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);
当然,我不知道你班级的内容,所以我编造了一些领域。
答案 1 :(得分:0)
对于Legacy数据,我认为你可以使用SQL游标来处理它,比如
声明@Opportunitiesint
声明updatetrigger游标 从Gelegenheiten选择机会,***
打开updatetrigger
从updatetrigger获取下一个到@Opportunities
而@@ fetch_status = 0
开始
update employees set Opportunities =@Opportunities where ***
从updatetrigger获取next到@Opportunities
结束
deallocate updatetrigger