EF迁移创库+使用

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Reflection;
using System.Web;

namespace G6.EFCode.DALS
{
public class EFHelper where T:class,new()
{
MyContext db = new MyContext();//实例化一个上下文对象
///
/// 添加
///
///
///
public int Insert(T t)
{
db.Set().Add(t);
return db.SaveChanges();
}
///
/// 修改
///
///
///
public int Modify(T t)
{
db.Set().Attach(t);
db.Entry(t).State = EntityState.Modified;
return db.SaveChanges();
}
///
/// 删除
///
///
///
public int Delete(int id)
{
var obj = db.Set().Find(id);
db.Set().Remove(obj);
return db.SaveChanges();
}
///
/// 显示 查询
///
///
public DbSet Show()
{
return db.Set();
}
///
/// 批量删除
///
///
///
public int Dels(string ids)
{
Type type = typeof(T);
PropertyInfo[] pros = type.GetProperties();
string sql = $“delete from TB_{type.Name.Replace(“Model”,”")} where {pros[0].Name} in ({ids})";
return db.Database.ExecuteSqlCommand(sql);
}
}
}

//然后创建EF添加Model类

namespace G6.EFCode.DALS
{
using System;
using System.Data.Entity;
using System.Linq;
using G6.EFCode.Models;

public class MyContext : DbContext
{
    //您的上下文已配置为从您的应用程序的配置文件(App.config 或 Web.config)
    //使用“MyContext”连接字符串。默认情况下,此连接字符串针对您的 LocalDb 实例上的
    //“G6.EFCode.DALS.MyContext”数据库。
    // 
    //如果您想要针对其他数据库和/或数据库提供程序,请在应用程序配置文件中修改“MyContext”
    //连接字符串。
    public MyContext()
        : base("name=MyContext")
    {
    }

    //为您要在模型中包含的每种实体类型都添加 DbSet。有关配置和使用 Code First  模型
    //的详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=390109。

    public DbSet<UserModel> Users { get; set; }
    public DbSet<UserLevelModel> UserLevels { get; set; }
}

}

//然后是控制器

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using G6.EFCode.DALS;
using G6.EFCode.Models;

namespace G6.EFCode.Controllers
{
public class UserController : ApiController
{
EFHelper _userDal = new EFHelper();
[HttpGet]
public IHttpActionResult Show()
{
List list = _userDal.Show().Include(“UserLevel”).ToList();

        return Ok(list);
    }
}

}

然后改一下Web.config里的链接数据库的名字(改成数据库没有的)

<add name="MyContext" connectionString="Data Source=.;Initial Catalog=G6_EFDB2;Integrated Security=True" providerName="System.Data.SqlClient"/>

然后在程序包管理控制台输入命令

在这里插入图片描述
在这里插入图片描述

展开阅读全文
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值