c# - 映射和sql数据库创建

标签 c# sql-server entity-framework-5 localdb

我开始了一个项目并使用 Entity Framework 5。 现在我在我的 SQL Server Express 上创建了一个包含所有表的数据库。 此外,我创建了具有流畅映射的 DbContext

流式映射或 .edmx 映射文件哪个更好?

数据库现在位于 SQL Server 上,但我还希望支持 SQL 本地数据库。

有没有办法告诉 EF 我想使用 SQL 本地数据库?

我应该在设置中发送整个数据库还是更好地在我的应用程序启动时创建数据库?如何使用 EF 创建数据库(SQL 服务器或 SQL 本地数据库)?

我们将不胜感激任何有用的帮助。

最佳答案

如果您使用的是 EF5,我会远离 edmx。 您可以使用 Entity Framework Power Tools 从数据库对您的模型进行反向工程。 您可以使用数据注释或流畅的映射来自定义您的模型。

如果您首先使用 EF5 代码,它可以自动为您创建数据库(如果不存在),但是在后续升级时效果不佳(它可以重新创建数据库,但您将使用现有数据)。您可以使用的选项是 EF 迁移,您可以在其中以类似流利的语言指定对数据库所做的修改,或者使用 Visual Studio 中的数据库项目,您可以在其中将所有模式存储在源代码管理中,然后生成数据库在版本之间升级脚本。

关于c# - 映射和sql数据库创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14425252/

相关文章:

c# - SignalR 在子域上协商 404

c# - 无法使用 PostgreSQL 配置 AspNet.Identity

java - Hibernate 改进的NamingStrategy 无法正常工作

c# - 修改 DAL 时出错,System.ArgumentException, "An entry with the same key already exist"

c# - 使用 LINQ ForEach 循环的替代方法是什么?

c# - 0.2+0.3 !=0.5 ... float 类型的问题

sql-server - 在 SQL Server 中将 Bool 转换为 Bit

c# - 如何使用 .NET 将 byte[] 转换为字符串以生成与 SQL Server Convert format 1 或 2 相同的字符串?

c# - 使用 Linq 在两个列表之间进行规范化的最佳方法是什么?

c# - 如何在 Entity Framework 5 Code First 中处理主键