2012-09-06 53 views
0

我在Telerik的&是新探索作爲ORM的選項。我試圖做簡單的事情,就像使用寫記錄到數據庫:的OpenAccess ORM連接數據庫

Database db = Database.Get("MyConnectionNameIUsedToGenerateClasses"); 
IObjectScope scope = db.GetObjectScope(); 
scope.Transaction.Begin(); 
LookUpType l = new LookUpType(); 
l.IsActive = true; 
l.Name = "test"; 
scope.Add(l); 
scope.Transaction.Commit(); 

它拋出以下錯誤:ID爲「MyConnectionNameIUsedToGenerateClasses」不能從經過的配置文件中找到「(OpenAccess的連接部內部產生。有沒有什麼我從設置丟失?Telerik確實將connectionString添加到我的web.config文件中,並生成類。請幫助。謝謝。

+0

出於某種原因dbContext.Connection作品,但不Database.Get –

回答

0

OpenAccess ORM應該知道應用程序使用的所有程序集。

:組件時,應當根據在配置文件內的參考部分中列出
  • 開放的Web應用程序項目的web.config文件;
  • 找到參考節點;
  • 改變的參考節點以使其到達如下形式:

配置文件格式描述here

+0

出於某種原因dbContext.Connection作品,但不Database.Get 。所以引用不應該有問題。我使用了相同的鏈接來配置我的項目 –

+1

您已經創建了一個新的域模型,並且正在嘗試使用Classic API方法來使用它。您必須使用OpenAccessContext爲了讀取和/或將更改保存到數據庫中。你不能混用兩種方法。 –

+0

http://www.telerik.com/help/openaccess-orm/feature-ref-api-context-api-handling-transactions.html –

0

正如我所提到的上述評論下面的代碼工作&做我的工作:

Telerik.OpenAccess.Data.Common.OAConnection dbConnection = dbContext.Connection; 
LookUpType l = new LookUpType(); 
l.IsActive = true; 
l.Name = "test123"; 

LookUpType lkup = new LookUpType(); 
lkup.IsActive = true; 
lkup.Name = "someTest"; 

dbContext.Add(new LookUpType[] { l, lkup }); 
dbContext.SaveChanges();