Mag*_*man 5 sql-server entity-framework entity-framework-4
这里的东西看起来很容易但是让我疯狂,因为天......
我正在尝试使用Entity Framework和Sql Server Compact创建一个应用程序.我想使用模型第一种方法.我为模型创建了一个edmx文件并运行了Database Generation向导,该向导生成了一个包含Table Creation命令的edmx.sqlce文件.但是在哪里运行这个edmx.sqlce文件?
我试图通过将内容发送到SqlCommand的ExecuteNonQuery命令来运行该文件.但它也会出现语法错误 - 但为什么生成的edmx.sqlce文件会被破坏?我想我必须在其他地方运行该文件.谁能告诉我在哪里?(我只有一个C#express版本).
edmx.sqlce文件的内容是:
-- --------------------------------------------------
-- Entity Designer DDL Script for SQL Server Compact Edition
-- --------------------------------------------------
-- Date Created: 07/27/2011 23:50:28
-- Generated from EDMX file: C:\Users\Ralf\Programmierung\MySoftware\MySoftware\MySoftwareDatenbank\MySoftwareDataModel.edmx
-- --------------------------------------------------
-- --------------------------------------------------
-- Dropping existing FOREIGN KEY constraints
-- NOTE: if the constraint does not exist, an ignorable error will be reported.
-- --------------------------------------------------
-- --------------------------------------------------
-- Dropping existing tables
-- NOTE: if the table does not exist, an ignorable error will be reported.
-- --------------------------------------------------
DROP TABLE [DataSourceSet];
GO
-- --------------------------------------------------
-- Creating all tables
-- --------------------------------------------------
-- Creating table 'DataSourceSet'
CREATE TABLE [DataSourceSet] (
[Id] int IDENTITY(1,1) NOT NULL
);
GO
-- --------------------------------------------------
-- Creating all PRIMARY KEY constraints
-- --------------------------------------------------
-- Creating primary key on [Id] in table 'DataSourceSet'
ALTER TABLE [DataSourceSet]
ADD CONSTRAINT [PK_DataSourceSet]
PRIMARY KEY ([Id] );
GO
-- --------------------------------------------------
-- Creating all FOREIGN KEY constraints
-- --------------------------------------------------
-- --------------------------------------------------
-- Script has ended
-- --------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我的环境是: - SqlServerCompact 3.5 - Visual C#2010 Express
您不必手动运行 DDL 脚本,它应该在您第一次在与所需数据库连接正确关联的代码中创建 DbContext 时自动完成。我不像对代码优先那样熟悉模型优先,但我知道 EF 4.1 更好地支持 SQL Server CE 4。
如果出于某种原因,您仍然希望通过 ExecuteNonQuery 手动执行 DDL 脚本,则需要删除所有批处理终止符(“GO”),因为 ExecuteNonQuery 不支持批处理查询。
| 归档时间: |
|
| 查看次数: |
3409 次 |
| 最近记录: |