【发布时间】:2016-01-27 00:37:24
【问题描述】:
我看过一些关于 Entity Framework with MySql 和 Sql Server 的课程。 首先,老师使用数据库中的实体,在其中创建上下文数据库,然后开始插入
using(sampleEntities ctx = new sampleEntities()){
client clt = new client();
clt.name = txtName.Text;
clt.phone = txtPhone.Text;
ctx.Add(clt);
ctx.SaveChanges();
但是其他老师对 DAL、BLL 和 UI usgin session 和 httpContext 做了一些不同的事情,他说 Entity 需要这个 Session 来避免“持久性冲突”,因为第一个示例是为很多用户使用相同的“连接/会话”,所以他就是这样做的:
public static sample01Entities Current
{
get
{
if (System.Web.HttpContext.Current.Session["SampleDbContext"] == null)
{
db = new sample01Entities();
System.Web.HttpContext.Current.Session["SampleDbContext"] = db;
}
return db;
}
}
` 然后在达尔城
public void Add(cidade c)
{
SampleDbContext.Current.cidade.Add(c);
SampleDbContext.Current.SaveChanges();
SampleDbContext.Current.ChangeTracker.Entries<cidade>();
}
问题是:在不危害网站的情况下使用第一个示例是否安全?或者我应该一直使用会话来处理所有的 CRUD 方法吗?
谢谢
【问题讨论】:
标签: session entity entity-framework-5 crud httpcontext