簡體   English   中英

實體框架:如何才能添加到SQL Server View?

[英]Entity Framework : How could it be possible to add to SQL Server View?

也許我在這里想念一些東西,但我不這么認為。

我有一個實體模型,它也擁有sql server視圖。 當我與我的實體合作時,我發現了類似下面的方法;

HubEntities _entities = new HubEntities();
_entities.vw_AccommPropertiesFullWeb.AddObject(...

vw_AccommPropertiesFullWeb這是一個視圖。

如何向視圖添加新視圖? EF家伙是故意這樣做的還是錯誤配置的?

如果將SQL View導入模型,它始終表示為DefiningQuery ,根據DefiningQuery ,它只讀。 使其可寫的唯一方法是實現存儲過程並將它們映射到實體類型的InsertUpdateDelete操作。

解決方法是以EF認為它是表格的方式映射視圖。 這個需要:

  • 手動修改EDMX文件,除非您購買一些額外的工具,否則您將永遠無法再使用數據庫更新=您將手動維護EDMX
  • 您的視圖必須是可更新的 - 它必須遵循數據庫服務器定義的某些規則 - 通常在使用EF時,它意味着您的視圖必須具有INSTEAD OF觸發器以進行修改操作,或者它不能使用連接,聯合,計算列,聚合或其他任何內容除非這些操作產生的列標記為在EF中計算(數據庫視圖允許僅從基表插入和更新列)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM