为了账号安全,请及时绑定邮箱和手机立即绑定

c#从存在或创建的查询中获取信息

c#从存在或创建的查询中获取信息

C#
动漫人物 2021-06-03 16:42:25
我有以下 LINQ 查询:var sysExist = db.Systems.FirstOrDefault(s => s.Name == name && s.OrganizationID == 4);if (sysExist == null){   var sys = db.Systems.Add(new Systems()   {      Name = name,      OrganizationID = 4,      Online = true,      SerialNumber = "1zz34343"    });   db.Systems.Add(sys);   db.SaveChanges();}如果记录存在,我需要从 sysExist 获取 ID 字段。如果记录不存在,我需要获取添加的记录的 ID 字段 (sys)。想知道有没有更有效的方法来做到这一点,而不是查看两个变量以查看 ID 是什么。
查看完整描述

2 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

重用sysExist而不是创建一个新的sys:


var sysExist = db.Systems.FirstOrDefault(s => s.Name == name && s.OrganizationID == 4);


if (sysExist  == null)

{

   sysExist = new Systems()

   {

     Name = name,

     OrganizationID = 4,

     Online = true,

     SerialNumber = "1zz34343" 

   };


   db.Systems.Add(sysExist);

   db.SaveChanges();

}


// now sysExist contains old or new record


查看完整回答
反对 回复 2021-06-05
?
慕森卡

TA贡献1806条经验 获得超8个赞

var sys = db.Systems.FirstOrDefault(s => s.Name == name && 

s.OrganizationID == 4);


if (sys  == null)

{

   sys = new Systems()

   {

     Name = name,

     OrganizationID = 4,

     Online = true,

     SerialNumber = "1zz34343" 

   };


   db.Systems.Add(sys);

   db.SaveChanges();

然后sys在需要获取ID的地方使用


查看完整回答
反对 回复 2021-06-05
  • 2 回答
  • 0 关注
  • 120 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信