2017-05-17 87 views
0

我有我想转换为实体框架翻译INSERT INTO选择实体框架

我需要在一个运行中插入多行中的实体像什么这个查询做

INSERT INTO dbo.tbllistDepartment 
(
    department_sys_id, 
    department, 
    status, 
    client_sys_id, 
    lang_sys_id 
) 
SELECT @siDepartmentSysId,@siDepartment, @iiStatus, 
     @siClientSysId, lang_sys_id 
    FROM tblLanguageSettings 
    WHERE lang_sys_id <> 'Admin001' 
这个sql查询

我已经试过,但其插入只有一行

public static void Insert(string langSysId, string clientSysId,string name, int status) 
    { 
     Crs2Model context = new Crs2Model(); 
     string SysId = MyLibrary.StringCreator.GetSysId(); 

     tblListDepartment deptObj = new tblListDepartment() 
     { 
      department_sys_id = SysId, 
      client_sys_id = clientSysId, 
      lang_sys_id=langSysId, 
      department=name, 
      status=status 
     }; 

     context.tblListDepartments.Add(deptObj); 
     context.SaveChanges(); 
    } 
+1

显示您的DBContext名称,我的朋友。 – Tomato32

+0

我的问题已更新 –

回答

0

首先,你需要从tbllistDepartment表过滤器的数据。然后循环浏览这些数据。 这是一个示例。您可以参考,我的朋友:

using (DBContext ctx = new DBContext()) 
{  

    var department = ctx.tbllistDepartment.Where(c => c.lang_sys_id != "Admin001"); 

    foreach(var item in department) 
{ 
     var obj = new tbllistDepartment() 
     { 
     department_sys_id = item.department_sys_id, 
     department = item.department, 
     status = item.status, 
     client_sys_id = item.client_sys_id, 
     lang_sys_id = item.lang_sys_id 
     } 
     ctx.tbllistDepartment.Add(obj); 
} 

    // Insert into the database. 
    ctx.SaveChanges();       
} 
+0

非常感谢你我的朋友,这是解决我的问题...希望我有15名声誉,所以我可以投你:) –

+0

@ AhmadA.Al-Dwairi:是的,很高兴能帮助你,我的朋友:)) – Tomato32