我工作的一个程序,但现在我的问题是,用户打开向上的程序时,程序给出错误,因为没有任何数据库该程序可以使用。当他/她打开程序时,如何在用户的计算机上创建我自己的数据库?(数据库在sql上)如何创建数据库与C#时,程序首先拼命地跑
-2
A
回答
0
您应该查看实体框架,它可以让您做到想。特别注意代码第一种方法。
您还可以指定该数据库的名称作为上下文类的基本构造函数的参数。如果您指定了数据库名称参数,Code First将使用您在本地SQLEXPRESS数据库服务器的基础构造函数中指定的名称创建一个数据库。例如,Code First将为以下上下文类创建一个名为MySchoolDB的数据库。
更多细节可以在这里
http://www.entityframeworktutorial.net/code-first/database-initialization-in-code-first.aspx
namespace SchoolDataLayer
{
public class Context: DbContext
{
public Context(): base("MySchoolDB")
{
}
}
}
0
可以使用依赖注入模式与Autofac发现在运行时加载的 数据库。
的MVC控制器:
public HomeController: Controller
{
private readonly IDataAccessLayer _layer;
public HomeController(IDataAccessLayer Layer)
{
this._layer = layer;
_layer.StartUpDatabase();
}
}
的IDataAccessLayer接口:
public interface IDataAccessLayer
{
Task StartUpDatabase();
}
的DataAccessLayer类:
public DataAccessLayer: IDataAccessLayer
{
public async Task StartUpDatabase()
{
//Try to get a connection handle of the SQL Server database
}
}
而在Global.asax.cs中的文件,注册Autofac的依赖关系。
var builder = new ContainerBuilder();
builder.RegisterType<DataAccessLayer>().As<IDataAccessLayer>();
var container = builder.Build();
相关问题
- 1. 如何强制EF代码首先重新创建数据库?
- 2. log4net的ADONET追加程序:获取错杂数据时的应用程序的多个实例拼命地跑
- 3. 确保)通过的Runtime.exec(拼命地跑项目将与Java应用程序
- 4. 如何在首次启动.NET Windows应用程序时创建Access数据库?
- 5. 何时为应用程序创建本地(SQLite)数据库?
- 6. 重命名项目c#数据库的实体首先
- 7. ASP.NET mvc数据库教程首先
- 8. 数据库首先 - DefaulValue为
- 9. NHibernate数据库 - 首先
- 10. 壳牌通参数为Java拼命地跑带参数
- 11. 缺少数据库表Aro(预计“AROS”),首先创建它
- 12. MVC3代码首先不创建数据库
- 13. 无法使用EF-Code首先重新创建数据库
- 14. 代码首先在EF不创建数据库
- 15. EF6使用SQLite创建数据库模型首先
- 16. EF代码首先不会创建新的数据库
- 17. 如何首先获得数据库信息与实体框架数据库?
- 18. 如何先用存储过程创建asp.net MVC数据库?
- 19. 实体框架代码首先与远程数据库
- 20. 首先使用MVVM和数据库的新WPF应用程序?
- 21. 首先是:数据库还是应用程序逻辑?
- 22. C#EF代码优先 - 创建数据库并添加数据
- 23. 如何从拼花地板创建数据集?
- 24. 首先,从程序
- 25. 如何在C++中创建数据库
- 26. EF代码首先创建
- 27. '本地数据库运行时:无法创建命名实例
- 28. 如何创建与数据库中
- 29. 首先使用实体框架代码与任何数据库
- 30. asp.net mvc实体框架代码首先创建数据库如果不存在
非常感谢:D – HeroOfSkies