将相同的实体对象添加到SQL服务器数据库

问题描述:

我试图添加相同的对象到一个表使用for循环作为工作实体可能需要不止一次。我首先尝试这种方式,但它只保存一条记录。将相同的实体对象添加到SQL服务器数据库

   for (int i = 0; i < required; i++) 
       { 
        _Context.Jobs.AddObject(n); 
       } 

然后我试过这种方式思维实体框架可能不会看到对象是不同的。

   for (int i = 0; i < required; i++) 
       { 
        if (i > 0) 
        { 
         Job additionalJob = new Job(); 
         additionalJob = n; 
         _salesContext.Jobs.AddObject(additionalJob); 
        } 
        else 
        { 
         _Context.Jobs.AddObject(n); 
        } 
       } 

该数据库仅保存在记录中。任何帮助,将不胜感激。

类是引用类型。你还在设置额外的工作,这完全一样。类使用指向内存空间的指针,所以你所做的只是制作两个指针。当添加记录时,EF只是添加相同的数据。

不是设置为n,而是从n复制属性。

additionaljob.Name = n.Name; 

var additonalJob = new Job() { Name = n.Name }; 
+0

是的,我认为这是我必须做的,我只是现在希望有做,因为有相当多的性质工作实体。 我现在给这个去吧,让你知道我如何去。 –

+0

我遇到过这样的问题,我创建了一个辅助函数,循环遍历类的属性并将它们复制到目标类。这将是非常容易做,并会节省大量的打字和更易于维护。 –

+0

这是一个好主意!此外,您的答案完美无瑕,我会将其标记为现在的答案。 感谢您的帮助。 –