Entity framework 实体框架当对象被添加时,它的引用被添加或者什么
这个问题听起来可能很傻,但我试图找到一种通过EF完成批量操作的方法。我知道这不是一个好的做法 在搜索过程中,我找到了这个链接 它给出了一个例子Entity framework 实体框架当对象被添加时,它的引用被添加或者什么,entity-framework,Entity Framework,这个问题听起来可能很傻,但我试图找到一种通过EF完成批量操作的方法。我知道这不是一个好的做法 在搜索过程中,我找到了这个链接 它给出了一个例子 for (int i=0; i<1000; i++) { var entity = new Contact { CustomerId = Guid.NewGuid(),
for (int i=0; i<1000; i++)
{
var entity = new Contact
{
CustomerId = Guid.NewGuid(),
FirstName = "Ruben",
LastName = "Geers",
EmailAddress = "geersch@gmail.com"
};
context.Contacts.AddObject(entity);
}
context.SaveChanges();
“创建麻烦”是指您添加了一个对象的引用,然后重新创建它
有点困惑…事实上,您没有重新创建对象
for (int i=0; i<1000; i++)
{
var entity = new Contact
//rest of code omnitted
for(int i=0;iRecreation将不替换原始引用。构造函数创建一个新对象(内存中的分配)并返回指向该值的“指针”。当您将引用作为参数传递给正在传递该地址的方法时(您是按值传递它).@LadislavMrnka当对象传入方法时,会自动将其byref指定给它。你不这么认为。就像我在方法中传入obj时做了一些更改,然后当我在调用方法中检查它的值时,我发现了更改。但是如果方法没有更改对象的值,而是将另一个对象指定给参数,则此更改将不可见方法外部。调用方法时,ByVal和ByRef在堆栈上放置的内容不同。如果传递参数ByVal,则将数据放置到堆栈中,以便对数据的更改不会影响外部范围。如果传递参数ByRef(所有对象),则仅将指针值放置在堆栈上-对地址的任何更改(指针的值)在方法或外部作用域中都是独立的。这是可见的。我尝试创建对象并将其传递给方法,在方法中,我更改了值,其得到的反映也在calle方法中。不要更改对象的值,通过指定另一个对象来更改引用本身-这与您所问的问题等效。
for (int i=0; i<1000; i++)
{
var entity = new Contact
//rest of code omnitted