0

クライアント側では、関連するすべてのエンティティ(ナビゲーションプロパティ)をメインエンティティに追加し、それをリストに添付して、SubmitChangeを呼び出します。しかし、サーバー側では、関連するすべてのエンティティが欠落しています。

コード:

クライアント:

DomainService1 domainService1= new DomainService1();
.
.
.
WorkCode newWorkCode = new WorkCode();
newWorkCode.Date = DateTime.Now;

.
.
.

for(Work item in WorkList)
{
 newWorkCode.Works.Add(item) 
}

.
.
.

domainService1.WorkCodes.Attach(newWorkCode);
domainService1.InsertWorkCode(newWorkCode);     
      dsMaintenance.SubmitChanges(submitOperation =>
      {
        if (!submitOperation.HasError)
        {

        }
      },
            null);

サーバ:

[Update(UsingCustomMethod = true)]
public void InsertWorkCode(WorkCode workCode)
{
    //////// workCode.Works = 0 ///////////////////

  this.ObjectContext.WorkCodes.AddObject(workCode);            
}
4

1 に答える 1

0

ここで何をしているのかわかりません。しかし、私が何かを追加したい場合、私はこのようにそれを行い、それは機能します:

Context = new DomainContext();

var customer = new Customer() { /* ... */ };
var order = new Order() { Customer = customer, /* ... */ };

Context.Customers.Add(customer);
Context.Orders.Add(order);

ただし、他のアプローチが好きな場合は、次のようにすることもできます。

var customer = new Customer() { /* ... */ };
var order = new Order { /* ... */ };

customer.Orders.Add(order);
Context.Customers.Add(customer);

今、あなたはただ提出します:

var submitOperation = Context.SubmitChanges();
submitOperation.Completed += // [...]

お役に立てれば。

于 2011-05-17T10:00:07.537 に答える