簡體   English   中英

單獨的C#項目中的模型還是相同的?

[英]Models in a separate C# Project or Same?

我正在創建一個C#MVC Net Core應用程序。

閱讀一些書籍,有人告訴他們要在自己的項目中編寫數據庫模型。 其他人則說不要在自己的項目中使用數據庫模型。 只是好奇將模型放置在自己的項目中會帶來什么好處/優勢? 問題“不需要反向詢問。 我只是問分離模型的好處? (此問題不是基於意見的,也不會提出建議,只是通過這種方式帶來的功能優勢)

將數據庫模型放置在單獨的項目中的主要好處是,如果您正在編寫一個支持多個數據庫系統來存儲數據的應用程序。 在這種情況下,您可能會有類似的內容(在程序集GregThomas.MyApp.DataAccess.Common

namespace GregThomas.MyApp.DataAccess.Common
{
    public interface ISprocketRepository
    {
        Task<IEnumerable<Sprocket>> GetAllAsync();
    }

    public class Sprocket
    {
        // All the properties of a sprocket would be here
    }
}

然后,您要為每個要支持的數據庫提供程序提供單獨的程序集,例如,在程序集GregThomas.MyApp.DataAccess.SqlServer

namespace GregThomas.MyApp.DataAccess.SqlServer
{
    public sealed class SprocketRepository : ISprocketRepository
    {
        Task<IEnumerable<Sprocket>> ISprocketRepository.GetAllAsync()
        {
            // Code to retrieve sprockets from a SQL Server database here
        }
    }
}

每個數據庫特定的程序集都將引用.Common程序集,以便能夠實現適當的接口並訪問模型。

暫無
暫無

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

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