博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
创建一个WPF+EF应用程序
阅读量:4325 次
发布时间:2019-06-06

本文共 1557 字,大约阅读时间需要 5 分钟。

     这是我在博客园的第一篇博客,开通此博客的目的是整理学过的知识点,以后再碰到相同的问题后会有文档可以查询。

     话不多说,开撸。

      1.打开VS2013建立WPF应用程序,选择对应的项目。

      2.安装EF程序包,打开 工具—》NuGet程序包管理器—》程序包管理器控制台,输入 install-package entityframework。

       

       如上图所示,已经成功安装EF 6.1.3到当前解决方案目录下。

       3.添加空项目XXX.DAL存放数据访问相关类。

    4.添加空项目XXX.Model存放与数据库相匹配的模型,并添加相应的数据表如TSysUser类,右键点击项目XXX.Model在输出类型

        这一栏将控制台应用程序更改为类库,点击生成事件,在后期生成事件命令行输入

          set targetFloder=$(ProjectDir)..\..\Common\

          xcopy /r /y "$(TargetDir)TCMedcine.Model.dll" "%targetFloder%"

        将生成的类库文件TCMedcine.Model.dll拷贝到与项目同级的Common文件夹下面。

        5.在XXX.DAL项目中添加SysContext继承DbContext,z在SysCntext添加如下代码

public class SysContext : DbContext

6.配置链接字符串

<startup>

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<connectionStrings>
<add name="SysContext" connectionString="Data Source=(local); Database=Test; User ID=sa; Password=123456;" providerName="System.Data.SqlClient"/>
</connectionStrings>

链接字符串放到启动项的配置文件中。

{
public SysContext()
: base("name=SysContext")
{
}

public DbSet<TSysUser> TSysUsers { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)

{
modelBuilder.Conventions.Remove<PluralizingEntitySetNameConvention>();
}

 ORM中O就是SysContext中的TSysUsers,就是对象,R是数据库中的表,M是O和R的映射关系。ORM对传统方式的改进:

充当桥梁,实现了关系数据和对象数据的映射,通过映射自动产生SQL语句。对常用的操作,节省了写SQL的步骤。

 创建SysContext类主要来完成EF的功能,步骤如下:

     1) 为每一个entity set创建一个DbSet,在EF中,通常情况下一个entity set对应数据库中的一张表,一个entity对应表中的一行。

     2) 指定连接字符串构造函数中的base(“name=SysContext”).

     3)  指定单数形式的表名

             modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

    默认情况下会生成复数形式的表,如TSysUsers.

 

转载于:https://www.cnblogs.com/Oldwu/p/6400200.html

你可能感兴趣的文章
vs code调试console程序报错--preLaunchTask“build”
查看>>
蚂蚁金服井贤栋:用技术联手金融机构,形成服务小微的生态合力
查看>>
手机通话记录统计分析
查看>>
端口号大全
查看>>
机器学习基石笔记2——在何时可以使用机器学习(2)
查看>>
POJ 3740 Easy Finding (DLX模板)
查看>>
MySQL 处理重复数据
查看>>
关于typedef的用法总结(转)
查看>>
【strtok()】——分割字符串
查看>>
Linux下安装rabbitmq
查看>>
曹德旺
查看>>
【转】判断点在多边形内(matlab)
查看>>
java基础之集合:List Set Map的概述以及使用场景
查看>>
Python 线程 进程 协程
查看>>
iOS语言中的KVO机制
查看>>
excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法
查看>>
响应式web设计之CSS3 Media Queries
查看>>
实验三
查看>>
机器码和字节码
查看>>
环形菜单的实现
查看>>