2014-04-04 22 views
0

當我發送我的sql請求時,我有「表或視圖不存在」異常。 如何從我的sql請求中刪除「」dbo「。」以使其正常工作?Linq生成sql請求「ORA-00942:表或視圖不存在」

例外:

ORA-00942:表或視圖不存在

SQL:

SELECT 
CAST("Extent1"."COM_CHRONO" AS number(10,0)) AS "C1", 
"Extent1"."SER_CODE" AS "SER_CODE", 
"Extent1"."REP_NOM" AS "REP_NOM", 
"Extent1"."COM_COMMENTAIRE" AS "COM_COMMENTAIRE", 
FROM "dbo"."COMMANDE" "Extent1" 

LINQ:

var sel = from c in ctx.Orders 
      select c; 
+0

只要刪除「dbo」。你需要找出'COMMANDE'表的創建位置,如果它在當前模式中,直接使用'COMMANDE',如果它在其他模式中,則使用'schema.table_name'來訪問,但是確保當前模式具有該桌上適當的補助金。 – San

回答

0

目前還不清楚是否你是 採用代碼優先或數據庫優先的方法。

如果代碼第一種方法是你的話,那麼你必須爲Table屬性像這樣指定Schema

[Table("TableName", Schema="MySchema")] 
public class SomeClassName { 
    ... 
} 

如果您使用的是後一種方式,那麼你必須改變Database Schema Name財產你的EntityModel(默認是'dbo')。只需在'解決方案資源管理器'中選擇您的EDMX文件並檢查它的屬性。