2010年6月11日 星期五

服務與資料庫_WCF新增/刪除/修改

可以利用WCFService查資料以後,接下來當然就要新增、刪除、修改囉!

一樣的,第一步寫下服務契約

[OperationContract]
void UpDate_PatrolHole();

[OperationContract]
void Insert_PatrolHole();

[OperationContract]
String Del_PatrolHole(string Name);

接下來就是要實做出介面,將要進行的動作寫出來。

public void UpDate_PatrolHole() {
DataClasses1DataContext context = new DataClasses1DataContext();
var result = (from T1 in context.PatrolHole select T1).ToList();
result[1].PatrolName = "王先生";
context.SubmitChanges();
}

public void Insert_PatrolHole() {
DataClasses1DataContext context = new DataClasses1DataContext();
PatrolHole IItem1 = new PatrolHole();
IItem1.PatrolName ="X先生";
IItem1.Mark ="測試";
context.PatrolHole.InsertOnSubmit(IItem1);
context.SubmitChanges();
}

public String Del_PatrolHole(String Name) {
DataClasses1DataContext context = new DataClasses1DataContext();
var result = (from T1 in context.PatrolHole where T1.PatrolName.Contains(Name) select T1).First();
context.PatrolHole.DeleteOnSubmit(result);
context.SubmitChanges();
return "刪除完成!";
}

在更新的部份,是先利用LINQ將需要更新的資料選取出來,然後針對資料列的欄位屬性給定要更新的資料(result[1].PatrolName = "王先生";),最後利用DataContext的SubmitChanges()方法來進行比對更新。

在新增部分,則是要先new一個ORM所定義的Class,再對該物件分別加入要新增的資料,以InsertOnSubmit方法增加至DataContext,最後利用DataContext的SubmitChanges()方法來進行比對新增。

而在刪除的部份則跟更新很類似,先利用LINQ將需要刪除的資料選出來,再以DeleteOnSubmit方法刪除DataContext內的資料,最後利用DataContext的SubmitChanges()方法來進行比對刪除。

由以上的步驟可以了解,如果使用ORM的技術,對於操作新增、刪除、修改等等資料異動的動作,都先要對DataContext進行異動的動作,再利用SubmitChanges()讓其進行比對,而達成實際的異動。

沒有留言:

張貼留言