service.Create和orgContext.AddObject有什么区别?

Nig*_*iri 4 dynamics-crm dynamics-crm-2011

我发现至少有两种方法可以在实体中创建记录,如下所示.

共同部分

var record = new someEntity()
{
    attribute1="test1",
    attribute2="test2" 
};

var service = new OrganizationService("CrmConnectionString");
Run Code Online (Sandbox Code Playgroud)

A部分

service.Create(record);
Run Code Online (Sandbox Code Playgroud)

B部分

var orgContext = new OrganizationServiceContext(service);
orgContext.AddObject(record);
orgContext.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

有什么区别?哪个更好?

cce*_*lar 8

A部分使用组织服务代理的原始create方法.此操作直接创建记录.

B部分使用了OrganizationServiceContext,它实现了工作单元模式.在您致电之前,您的操作不会传输到服务器SaveChanges()

哪个更好?这取决于您的要求.如果您只想在旅途中创建记录 - >使用该服务.如果你做了多个构成逻辑单元的东西,那就拿B版本.