使用ef的简单例子

编者:李国帅

qq:9611153 微信lgs9611153

时间:2014/10/27 10:12:54

背景原因:

查看别人的代码,连带了解一下ef的用法

安装EF:

直接在vs安装

创建步骤:

         1、创建console项目

         2、添加类-c#项--数据---ado.net实体数据模型---创建连接,生成一个model1.edmx文件

                   在app.config中可看到已经添加了连接字符串。

                   <configuration>

                     <connectionStrings>

                       <add name="testEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=192.168.10.8;User Id=root;password=root;Persist Security Info=True;database=test&quot;" providerName="System.Data.EntityClient" />

                     </connectionStrings>

                   </configuration>

         3、右键点击某个表,进行表映射,然后点击添加代码生成项。选择c#项--代码--Ado.net entityobject 生成器。

         4、点击生成的model.tt,下面有个model1.cs,可以看到生成的映射类。

         5、在program.cs中添加数据操作。

所需资源:

Visual studio C#, mysql ,EF

 

测试代码:

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var person = new personmaster
            {
                Person_ID = 10,
                surname = "Nadege",
                forename = "Deroussen",
                Address1 = "",
                Address2 = ""
            };
            using (var context = new testEntities())
            {
                context.AddTopersonmaster(person);
                context.SaveChanges();
            }
            Console.Write("Person saved !");
            Console.ReadLine();
        }
    }
}

注意点:

mysql执行的时候标记和sqlserver是不同的,

使用ef反向生成的sql语句是sqlserver的语句,不能生成mysql语法的执行语句。

-- Creating table 'Shop'

CREATE TABLE [dbo].[Shop] (

    [ID] int IDENTITY(1,1) NOT NULL,

    [Type] longtext  NULL

);

mysql认可的语句是

CREATE TABLE `Shop` (

    `ID` int  NOT NULL,

    `Type` longtext  NULL

);

不支持中括号[,双引号,单引号,支持的符号是键盘中1前面的‘符号。

 

猜你喜欢

转载自blog.csdn.net/lgs790709/article/details/84793394
0条评论
添加一条新回复
  
今日推荐