Насколько я знаю, примитивы платформы, даже если они могут быть ссылочными типами (например, System.String), будут храниться только в том случае, если экземпляр является дочерним по отношению к другому объекту (т.е. указан в поле), а затем этот объект хранится. Поэтому вызов Store () для примитива в C # или Java не сохранит его. По сути, вам нужно создать сущность для ссылки на ваши строки, чтобы сохранить их; почти так же, как вам нужно создать таблицу для сохранения строк в СУБД.
public class StringEntity
{
private readonly string value;
public StringEntity(string value)
: base()
{
this.value = value;
}
}
...
Assert.IsTrue(Repository.FindAll<StringEntity>().Count() == 0);
Repository.Save(new StringEntity("New String"));
Assert.IsTrue(Repository.FindAll<StringEntity>().Count() == 1);
EDIT:
или еще лучше
public class Primitive<T>
{
private readonly T value;
public Primitive(T value)
: base()
{
this.value = value;
}
}
...
Assert.IsTrue(Repository.FindAll<Primitive<string>>().Count() == 0);
Repository.Save(new Primitive<string>("New String"));
Assert.IsTrue(Repository.FindAll<Primitive<string>>().Count() == 1);