Multiple Values Per Attribute

Jan 7, 2010 at 1:54 PM
Edited Jan 7, 2010 at 1:54 PM

From what I understand, with simpleDB you can store multiple values for each attribute. How can I design the class so it supports this?

Would this work?


public class Thing
    public Guid Id { get; set; } 
    public string Name { get; set; }
    public List<string> Notes { get; set; }
Jan 7, 2010 at 2:22 PM

Yep, that would work. Everything you put in "Notes" would be stored in a multi-valued "Notes" attribute.

Jan 7, 2010 at 2:28 PM

And when I read it back from the db I would transparently get a list of strings?

Jan 7, 2010 at 2:30 PM

That's right.


Jan 7, 2010 at 2:39 PM

Thats great! 

Will they maintain their order?

Wishful thinking I know, but if I use a List<T> and then define a simpledb class for T, will this all be mapped to another domain and link with GUID's?

Jan 7, 2010 at 3:08 PM

SimpleDB itself does not maintain consistent attribute order.

Sorry, there's no relational mapping in Savant and probably never will be since the potential  misuse and performance issues would be even worse than they tend to be with actual relational databases.


Jan 7, 2010 at 3:47 PM

Thanks for your help.

I've noticed that quite a few issues have been fixed since you released  v0.2.

Any ideas when you'll be releasing v0.3?

Jan 7, 2010 at 4:08 PM

Glad to help.

I hope to have the next release out this weekend or next at the latest. Everything is stable, and I'm just updating documentation and performance-testing the new multi-threading feature. You should be fine building from the latest source in the repository.


Jan 8, 2010 at 12:17 PM

I'm trying to build the current source and I'm missing the following references:

  • Coditate.Common
  • Castle.DynamicProxy2
  • Castle.Core

Any ideas?


Jan 8, 2010 at 2:27 PM

Those files are in the source repository under /lib. They should be included when you checkout or use the download link: