Здравствуйте, DashkovAndrey, Вы писали:
DA>Здравствуйте, Аноним, Вы писали:
DA>Парни, я реально ценю желание помочь и я точно не хотел бы оттолкнуть тех кто хочет помочь, но пожалуйста соотносите ответ с проблемой. я написал так много букв для того чтобы не получать вместо ответа что-то в дуже: "а что ты имел ввиду", "а зачем тебе это вообще нужно" или "да можно, а как именно — гугл в помощь".
DA>вопрос не в том можно ли сделать это вообще — а в том как это сделать в частности, в Run-Time )
т.е. нужен готовый проект? тогда только в понедельник, дома у меня голая ось.
но там не много кодить, можно и самому попробовать.
1. код для генерирации метаданных примерно такой:
var catalogIndex = connectionStr.IndexOf("initial catalog=") + 16;
var catalogLength = connectionStr.IndexOf(';', catalogIndex) - catalogIndex;
var catalog = connectionStr.Substring(catalogIndex, catalogLength);
var storeGenerator = new EntityStoreSchemaGenerator(
"System.Data.SqlClient",
connectionStr,
modelNamespace + ".Store");
storeGenerator.GenerateStoreMetadata(entityFilter);
var modelGenerator = new EntityModelSchemaGenerator(
storeGenerator.EntityContainer,
modelNamespace,
modelNamespace + "Container");
modelGenerator.GenerateForeignKeyProperties = true;
modelGenerator.PluralizationService = PluralizationService.CreateService(CultureInfo.GetCultureInfo("en-US"));
modelGenerator.GenerateMetadata();
2. используя
T4 preprocessed template генерируем
класс, который в run-time будет генерировать код, который вы сейчас получаете в design-time.
3. этот класс partial, расширяем его кодом из п.1. дальше уже вам виднее, чего там должно быть.