簡體   English   中英

首先使用代碼后更改實體框架數據庫架構映射

[英]Change Entity Framework database schema map after using code first

我已經使用EF和Code First完成了我的博客構建。

EF使用[DBO]架構針對我的本地SQL Express實例運行。

現在我想發布博客, 我做了以下事情

  1. Generetade表格和SQL Express中的所有對象的腳本,並從我的服務器將[dbo]更改為我的[管理員]架構。
  2. 針對服務器運行腳本。 沒問題,所有對象都被創建好了。
  3. 我修改了Webconfig並添加了我的BlogContext連接字符串以指向服務器而不是本地sql express。
  4. 發布網站。

我得到的錯誤是: 無效的對象名稱'dbo.Articles'。 -其中Articles是我的實體之一。 它駐留在我的sql server, [Administrator].Articles

據我所知,EF仍然認為即時通訊使用DBO架構。 雖然我已經添加了連接字符串以指向管理員用戶。

如何更改EF認為應該使用的架構?

如果您沒有通過數據注釋或流暢的API顯式配置架構,EF將使用dbo架構。

[Table("MyTable", "MySchema")]
public class MyEntity
{

}

要么

modelBuidler.Entity<MyEntity>().ToTable("MyTable", "MySchema");

僅供搜索者使用:我正在使用EF5 .NET4.5,並且

[Table("MyTable", "MySchema")]

不起作用。 即使VS2012顯示有一個帶有2個參數的重載,在構建時它會給出錯誤:'System.ComponentModel.DataAnnotations.Schema.TableAttribute'不包含帶有2個參數的構造函數。

但代碼映射工作得很好。

暫無
暫無

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

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