Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 具有Fluent NHibernate的唯一字符串表_C#_Nhibernate_Orm_Fluent Nhibernate - Fatal编程技术网

C# 具有Fluent NHibernate的唯一字符串表

C# 具有Fluent NHibernate的唯一字符串表,c#,nhibernate,orm,fluent-nhibernate,C#,Nhibernate,Orm,Fluent Nhibernate,我有一个class Item和一个class ItemAttribute,其中Item有一个ItemAttribute类型的属性 ItemAttribute只有两个属性,一个名为ID的Guid和一个名为name的字符串。这里的想法是,我想存储一个名为ItemAttributes的表,该表包含一个唯一字符串列表 我的问题是,如果我保存一个引用数据库中已经存在的ItemAttribute的项,我如何使它引用已经存在的ItemAttribute,而不是创建一个新的ItemAttribute 更新 克里

我有一个class Item和一个class ItemAttribute,其中Item有一个ItemAttribute类型的属性

ItemAttribute只有两个属性,一个名为ID的Guid和一个名为name的字符串。这里的想法是,我想存储一个名为ItemAttributes的表,该表包含一个唯一字符串列表

我的问题是,如果我保存一个引用数据库中已经存在的ItemAttribute的项,我如何使它引用已经存在的ItemAttribute,而不是创建一个新的ItemAttribute

更新

克里斯托弗·赫尔更好地表达了我在这方面的努力

看起来我想做的事情是不可能的:(

所以,让我们抽象一下:)ItemAttributes表的目的只是为了减少重复,所以我可以只存储每个属性一次,并使用标识符链接到该项

如果我能为每个属性生成一个唯一的ID,我就可以分配这个ID和代码——应该可以


但是如何为字符串生成唯一的ID呢?ID必须一致,以便每次为相同的字符串生成相同的ID。

我使用SaveOrUpdateCopy解决了这个问题

这种方法的唯一一点是,在调用SaveOrUpdateCopy之前,我需要为ItemAttribute对象分配一个ID