[英]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.