【发布时间】:2010-05-13 17:47:23
【问题描述】:
使用DataContext 和空白已经存在的基于文件的数据库,是否可以编写数据上下文类(即我添加到设计师)来创建数据库架构?
在数据上下文中,我只能看到以下任一功能:
- 创建一个新的数据库文件并同时创建其结构,
- 或将数据填充到具有预先存在架构的现有数据库中。
我正在寻找这两个世界之间的混合解决方案。
更新 1(更多信息):我证明预先存在的数据库与数据上下文 CreateDatabase() 操作不兼容是这个错误
数据库 'C:...\App_Data\IntermediateData.mdf' 已经存在。选择不同的 数据库名称。
基于此代码
using (IntermediateClassesDataContext intermediateContext = new IntermediateClassesDataContext(_getIntermediateConn())) {
intermediateContext.CreateDatabase();
}
这个 web.config 条目(为 SO 清理)是正在使用的:
<connectionStrings>
<add name="IntermediateData" providerName="System.Data.SqlClient" connectionString="Data Source=W500\SQLEXPRESS;AttachDbFilename=C:\Webapp\App_Data\IntermediateData.mdf;Integrated Security=True;User Instance=True"/>
...并且提到的数据库已经存在于具有适当访问权限的磁盘上。
更新 2(澄清):
上下文和推理 = 文件权限和安全性
我不想授予用户在网站数据目录中写入新文件的权限(CreateDatabase 试图这样做);但是我不介意用户是否可以将模式和数据写入预先存在的数据文件。如果不存在可行的解决方案,我可能会屈服并开放权限。
我所做的是在空白的 DataContext 画布上创建一堆新类,如下所示。这些代表我想要保留到现有空白数据库的架构:
【问题讨论】:
标签: .net linq schema datacontext