DataContext是 Linq to sql数据模型的底层数据库对象
所有LInq数据表对象都是由它派生的, 只要建立一个数据库操作,就建立一个datacontext
当然,可以用静态的Datacontext,但不推荐,
所以datacontext对象在频繁调用时,会出现数据错误问题,
在使用datacentext对象时候,它会生成数据缓存,也就是为了提高数据读取速度,它会将数据库对象进行缓存,或者返回IQueryable结果集,使数据查询结果持续到需要select的时候,
解决方法:
建立一个数据实体对象,它是与Linq数据表相同的类型,比如 Custoomer表
解决方法是: db.Customer.select(c=>new Cuseromer{}),这样就解决了数据错误的问题,
原理是:不是用dacontext缓存中读数据,而是从非DBContext对象中,即内存某个实体读取
时间: 2024-10-11 16:45:31