ASP.Net EF架构
2021-01-30 12:16
标签:evel level com modify 方法 delete net help get 类别 /// /// CONTEXT using System; EFDBHELPER public class EFHelper 控制器 EFHelper ASP.Net EF架构 标签:evel level com modify 方法 delete net help get 原文地址:https://www.cnblogs.com/XJNB/p/13196340.html
/// 用户类
///
[Table("TB_User")]
public class UserModel
{
[Key]
public int UId { get; set; }
public int UName { get; set; }
[ForeignKey("UserLevel")]
public int LevelId { get; set; }
public UserLevelModel UserLevel { get; set; }
}
/// 用户级别类
///
[Table("TB_UserLevel")]
public class UserLevelModel
{
[Key]
public int LId { get; set; }
public string LName { get; set; }
public int Level { get; set; }
}
using System.Data.Entity;
using System.Linq;
using G6.EFTest.Models;
public class MyContext : DbContext
{
//您的上下文已配置为从您的应用程序的配置文件(App.config 或 Web.config)
//使用“MyContext”连接字符串。默认情况下,此连接字符串针对您的 LocalDb 实例上的
//“G6.EFTest.DALS.MyContext”数据库。
//
//如果您想要针对其他数据库和/或数据库提供程序,请在应用程序配置文件中修改“MyContext”
//连接字符串。
public MyContext()
: base("name=MyContext")
{
}
//为您要在模型中包含的每种实体类型都添加 DbSet。有关配置和使用 Code First 模型
//的详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=390109。
public DbSet
public DbSet
}
//public class MyEntity
//{
// public int Id { get; set; }
// public string Name { get; set; }
//}
}
{
MyContext db = new MyContext();//实例化上下文对象
///
/// 添加
///
///
///
public int Insert(T t)
{
db.Set
return db.SaveChanges();
}
///
/// 修改
///
///
///
public int Modify(T t)
{
db.Set
db.Entry
return db.SaveChanges();
}
///
/// 删除
///
///
///
public int Delete(int id)
{
var obj = db.Set
db.Set
return db.SaveChanges();
}
///
/// 显示查询
///
///
public DbSet
{
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);
}
}
EFHelper
[HttpGet]
public IHttpActionResult Show()
{
var linq = from u in _userDAL.Show().AsEnumerable()
join e in _userLevelDAL.Show().AsEnumerable() on u.LevelId equals e.LId
select new UserModel()
{
LevelId = u.LevelId,
UId = u.UId,
UName = u.UName,
UserLevel = new UserLevelModel()
{
Level = e.Level,
LId = e.LId,
LName = e.LName
}
};
return Ok(linq.ToList());
}