I'm using v3.1,Adapter,WCF
I have a view MyView mapped to entity MyViewEntity,and a table MyTable mapped to MyTableEntity.
MyView contains all MyTable's fields, like this
create view MyView
as
select MyTable.*,OtherField
from MyTable
In clinet side, I binding contro to MyViewEntity, if user modify any field of MyViewEntity,then I update the reality table. So I must convert MyViewEntity to MyTableEntity. see bellow
//Fetch MyViewEntiy
MyViewEntity view = Service.GetMyView();
//user modify view's field value
// some other code
//
//
//after user make some change,I want to update table's record
MyTableEntity table = new MyTableEntity();
//copy PK fields
table.SetNewFieldValue("PK",view.PK)
table.Fields["PK"].IsChanged=false;
// set other fields
table.SetNewFieldValue("PK",view.PK)
table.Fields["Field"].IsChanged=view.Fields["Field"].IsChanged;
..............................
//set IsNew to false to generate update sql,other than insert sql
table.IsNew = false;
Service.Save(table);
but in the service side,I watch the table.IsNew = true, so the generate sql is
Insert into ......................
strange. why the IsNew lost after pass from client to server side?
How to resolve this problem? I do not want modify my Service.Save() code,because it's called by other user, I just want to do all works in client side.