Man*_*rma 2 asp.net asp.net-mvc design-patterns entity-framework repository-pattern
具有工作单元的存储库模式是否最适合实体框架应用程序?
我正在创建一个新的asp.net mvc应用程序,并且我想使用存储过程(Microsoft企业库)而不是实体框架(或任何其他ORM)。
那么,如何在MVC应用程序中使用存储库模式?
我浏览了许多教程,但没有得到预期的结果。请为我建议更好的方法用于n层应用程序。
您必须了解“存储库模式”只是组织代码的一种想法。我认为您仍然可以毫无问题地使用它。
我只想为您提供一个使用sql存储过程的实现示例:假设您必须管理经典表“ Contacts”。
您可以创建您的UnitOfWork合同:
public interface IContactsRepository {
void AddContact(Contact c);
void RemoveContact(Contact c);
void UpdateContact(Contact c);
void Search(string keyword);
}
Run Code Online (Sandbox Code Playgroud)
之后,您可以在不使用EF的情况下创建自己的实现:
public sealed class SPContactsRepository : IContactsRepository {
// Is just an exampl.e
public void AddContact(Contact c) {
var sqlCommnad = new SqlCommand(this._connectionString);
sqlCommand.CommandText = "dbo.AddContact";
sqlCommand.CommandType = CommandType.StoredProcedure;
sqlCommand.AddParameter("Name", c.Name);
sqlCommand.Connection.Open();
sqlCommand.ExecuteNonQuery();
}
}
Run Code Online (Sandbox Code Playgroud)
希望这会有所帮助!
归档时间: |
|
查看次数: |
2855 次 |
最近记录: |