1
我在我的系统中有一个FileUpdloaded表,用于其他几个表。所以,在我的系统曾经上传的文件保存在该表(SqlServer的的FileStream)使用Nhibernate与单向多对一删除/更新策略
所以,每一个需要上传的文件类,我有一个类似的映射:
m.ManyToOne(x => x.FileUploaded, map => {
map.Column("File");
map.Class(typeof(FileUploaded));
map.Cascade(Cascade.All | Cascade.DeleteOrphans);
});
如此,是因为它是一种单向关系我应该手动删除该文件,对吧? 我的新文件中设置的对象之后,我明确地删除旧的形式FileUploaded表:
var oldId = myObject.FileUploaded.Id;
myObject.FileUploaded = new FileUploaded(...)
session<FileUploaded>.Delete(oldId)
这是正确的方式做到这一点?还是我搞砸了映射?