مشكلة إرسال الكيان إلى الخادم
-
14-11-2019 - |
سؤال
على جانب العميل أقوم بإضافة الكل الكيانات ذات الصلة (خصائص التنقل) إلى ملفي الرئيسي كيان وإرفاقه بالقائمة والاتصال إرسال التغيير.ولكن على جانب الخادم، جميع الكيانات ذات الصلة مفقودة!
شفرة:
عميل:
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);
}
المحلول
لست متأكدًا مما تفعله هنا.ولكن إذا أردت إضافة أشياء أفعل ذلك بهذه الطريقة ويعمل:
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 += // [...]
أتمنى أن يساعدك هذا.
لا تنتمي إلى StackOverflow