Entity Framework 6 Code First创建
2024-10-13 21:37:34
基本上我是DB先设计好的,所以就按现存在的table去写程式。
1.Web.config里配置Db连接字串,Connection String Name为DefaultConnection
<connectionStrings>
<!--<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-TLT-20150912072507.mdf;Initial Catalog=aspnet-TLT-20150912072507;Integrated Security=True"
providerName="System.Data.SqlClient" />-->
<add name="DefaultConnection" connectionString="Server=120.25.**.**;Database=Log4Net;uid=Log4Net;pwd=*******;" providerName="System.Data.SqlClient" />
</connectionStrings>
2.在Models里新建一个名为Log的model,如果没有指定table,entity framework会默认在DB里建名字为models的table,也就是后缀多一个s。不过我是已经存在的表,所以会给实体指定一个tablename,可以通过[Table("Log")]这种方式,如下:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web; namespace TLT.Models
{
//[Table("Log")]
public class Log
{
public Int32 ID { get; set; } public DateTime Date { get; set; } public string Thread { get; set; } public string Level { get; set; } public string Logger { get; set; } public string Message { get; set; }
}
}
3.model建完了,接下去最重要的就是要有一个DbContext,新建一个目录DAL,增加一个继承DbContext的类ApplicationDbContext.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; using TLT.Models;
using System.Data.Entity; namespace TLT.DAL
{
public class ApplicationDbContext : DbContext
{
public ApplicationDbContext()
: base("DefaultConnection")
{ } protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Log>().ToTable("Log");
} public DbSet<Log> Log { get; set; }
}
}
第一个构造函数的base里的DefaultConnection就是刚刚我们在Web.config配置的DB连接字串名称,在OnModelCreating里,我们可以给每一个model指定数据库中的表。
至此已经基本完成,可以用下面的方式测试是否可以读取数据。
// GET: Log
public ActionResult Index()
{
using (ApplicationDbContext db = new ApplicationDbContext())
{
var log = db.Log.ToList();
return View(log);
}
}
最新文章
- Linux.NET学习手记(8)
- USACO翻译:USACO 2014 US Open 三题
- eclipse开发 javafx(转)
- Oracle 部分函数使用说明
- 微信公共平台开发3 .net
- Cocoa的MVC架构分析 cocoa的mvc实现
- C#中的String.Format方法(转)
- 判断https
- [CSS][转载]内层div的margin-top影响外层div
- A10 平板开发一硬件平台搭建
- ps之雪碧图制作
- Day 2 下午
- Beamer中左边画图, 右边文字解释
- PyCharm 如何新建Django工程项目
- Arduino IDE for ESP8266 项目云盒子(3)外网访问
- 22.Mysql磁盘I/O
- springboot整合rabbitmq客户端连接报超时异常问题解决:An unexpected connection driver error occured java.net.SocketException: Socket Closed,java.util.concurrent.TimeoutException
- 我的Cocos Creator成长之路1环境搭建以及基本的文档阅读
- 【iOS】自动引用计数 (循环引用)
- 转 Quartz将Job持久化所需表的说明