My intent is to create a generic (not in C# meaning) database model for Windows Phone using linq to sql. User of such model should be able to pass an array of his data object types (classes marked with Table attribute) to model’s contstructor, and then model should take care about adding related tables to database and provide API for CRUD operations.
But then I’ve found out that in order to add tables to database, your data context (class inherited from DataContext class) have to declare each table as a property! That’s embarrassing. Does this fact mean that my idea is not implementable? Because I obviously cannot add properties to my DataContext-based in the runtime.
So my question is, am I right in my judgments? If yes, are there some workarounds to solve this issue?
Thanks in advance.
EDIT: better question tagging, for somebody finally notice this.
You do not need to use a strongly typed
DataContext(a class inheriting fromDataContextand declaring properties for each table). You can do something like the following insteadwhere
Tis some type marked with theTableattribute.