gpt4 book ai didi

c# - 选择合适的框架

转载 作者:行者123 更新时间:2023-11-30 13:59:24 25 4
gpt4 key购买 nike

我将构建一个应用程序,但我不确定要使用什么框架。在我工作过的地方,他们使用 Ntiers 和 codesmith,nettiers 是免费的,但不是 codesmith。我发现了 Entity Framework ,但我也读到过使用它的方法是使用一种叫做“存储库模式”的东西,但对使用它有很多疑问。我没有大预算,只有我自己,买不起一个昂贵的工具,该工具会自动创建我的类,具有更新、删除、创建功能,并留下一些代码供我实现。所以我不确定该走哪条路,我应该使用 Entity Framework (这是唯一一个免费的吗?),还是有其他我可以使用的东西,也许不是那么昂贵但可靠。

如我所料,我真的很感激对此提出很好的建议,最终这个应用程序会越来越大,并且希望易于维护。

PS:如果那是我的最佳选择,我会选择 Entity Framework 和存储库模式。

使用 C#、Asp.net 和 MSSQL 2008。

最佳答案

Entity Framework code first and automatic migrations是您可以使用的最简单的 ORM 之一。它很灵活,在 Microsoft 堆栈中得到很好的支持,并且代码优先,这是开发数据库的最快方法之一。

首先使用实体​​框架代码,将数据模型定义为普通的 C# 类。这将对应于产品表:

public Product {

public int Id { get; set; }
public string Name { get; set; }
}

创建数据库上下文。

public MyDbContext : DbContext {

public DbSet<Product> Products { get; set; }
}

将连接字符串添加到 Web.config,并在包管理器控制台中运行命令:

>Enable-Migrations –EnableAutomaticMigrations
>Update-Database

您现在拥有一个包含 Products 表的功能数据库。当您对类进行更改时,只需再次运行 Update-Database,它就会为您迁移架构。

添加新产品:

using (var db = new MyDbContex()
{
Product product = new Product() { Id = 1, Name = "Tablet" };

db.Products.Add(product);

db.SaveChanges();
}

查询您的数据变得如此简单:

using (var db = new MyDbContex()
{
// get product with id == 1
Product product = db.Products.Single(p => p.Id == 1);
}

至于存储库模式,它只是一个design pattern .有很多不同的variations of the repository pattern ,但这实际上是关于将数据存储与数据访问层分开。这使得单元测试更容易,而不必依赖现有的外部数据库。

根据您的评论进行编辑:有几种使用 EF 和存储过程的方法。参见 Does Entity Framework Code First support stored procedures?Using Stored Procedure to Insert Data .

关于c# - 选择合适的框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13577267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com