顶者有分!NHibernate因为一级缓存,导致数据不一致的问题!
假设有两表表
表1 用户表(UserTable) 两个字段 “UserID”为主键
UserID UserName
U001 x某
表2 地址表(AddressTable) 三个字段 “AddressID”为主键 “UserID_fk”为外键,对应上“UserTable”的主键
AddressID UserID_fk AddressDetial
A001 U001 xx省XX市
视图(VUser) 就是把用户和地址连起来
SELECT [UserID],[UserName],[AddressDetial] FROM [UserTable] LEFT JOIN [AddressTable] ON [UserID_fk]=[UserName]
其中视图(VUser)是为了方便完整的信息在列表上显示,也方便多表多条件查询,读取方式就是把视图也当成一个表,创建了一个实体
现在问题出来了
问题1:
> 先用视图查出了一行记录(为了简单,假设就一条记录)
> 然后我用“Get()”和“Update()”更新了UserTable这条记录的UserName(比如由“x某”改为“y某”)
> 然后我刷新列表(列表是由视图出来的,所以和“Update()”的不是一个实体),列表不更新,因为被一级缓存了
各位有什么好的办法解决吗?