簡體   English   中英

如何使用EF核心僅將新表添加到現有數據庫

[英]How to add only new tables to existing database with EF core

我們正在使用EF核心,並且情況可能如下所述

如果數據庫中不存在應用程序(即使用aspnet核心構建的bot)所需的新表,我們只需能夠創建它們即可。 還要注意,同一數據庫中存在某些表,應用程序打算使用它們,但是由於這些表是從外部進程創建的,因此bot不應創建這些表。

我們知道,我們可以使用ef core中的腳手架方法使用數據庫中已經存在的表,並且還為要創建的表准備了一組遷移,但是我們不確定這是否是正確的方法,特別是在聯機時-登新房客。

假設即使我們在開發數據庫租戶上完成所有工作,我們如何計划加入新的租戶或准備不同的數據庫,這些數據庫也將具有一些表,並確保應用程序僅創建新表並且還可以使用現有表表?

思考?

僅當現有表與代碼優先表完全分開時,這才起作用。 當使用代碼優先時,將創建上下文負責的任何內容。 這樣,即使您僅具有現有表實體之一的外鍵,該上下文也會嘗試與其他所有內容一起創建該表。 簡而言之,代表現有表的任何實體都不能與任何代碼優先實體有任何聯系。 期。

但是,您的設計一開始就有缺陷。 租賃應使用不同的數據庫進行處理。 如果有所有它們都需要引用的表集,則可以是一個單獨的數據庫連接。 如果有一組所有的表,但是不必在那里訪問彼此的數據,則應該在每個租戶數據庫中創建這些表。 自尊的客戶永遠不會使用利用單個數據庫租約的服務。 作為企業客戶,我發現您這樣做的那一刻,就是您看到門的那一刻。

暫無
暫無

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

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