2014-11-08 37 views
0

我想根据存储在SQL Server上的属性和字段类型在运行时创建模型。在运行时创建一个类并在.Net中使用它?

,比如我有一台名为test

UserName varchar(50) not null, 
Password varchar(4) not null, 
IsAdmin bit not null 

所以我要在运行时

public class Test 
{ 
    public string UserName{get;set;} 
    public string Password{get;set;} 
    public bool IsAdmin{get; set; } 
} 
+0

最简单的方法是使用* PropertyBag *实现或* Decorator模式*。有没有理由为什么这两个都不适合您的需求?在运行时实际编译代码需要做更多的工作,尽管可以完成。 – 2014-11-08 06:04:57

+0

你能解释一下你会如何使用这个类吗? – svick 2014-11-08 12:57:54

+0

n第一个窗口用户可以在DB中选择表格的字段,然后我在Sql Server中创建这个表格,并且以其他形式,用户可以显示所有表格的列表并显示指定表格的所有数据,所以我应该创建基于通过用户创建表可以绑定表上的数据列表,以通过GridView在WPF应用中显示它,等等...... – 2014-11-08 14:19:13

回答

0

你所要做的是既复杂又容易出错创建这个模型。在运行时生成代码通常是一个糟糕的想法。这种设计通常只会隐藏代码库,架构和设计实现中的更深层次的问题。

这就是说,从.NET 4.0开始可以声明dynamicvariables。您可以使用这些(列表或字典)的集合来存储它们,而不是生成整个类。

+0

是的,我同意。但在我的解决方案中,我没有任何表或模式,你知道,我的Sql模式也将在运行时由最终用户创建,所以我需要创建我的莫在运行时一次终端用户创建Sql Schema ... – 2014-11-08 06:16:01

+0

在第一个窗口用户可以选择字段在DB中的表然后我在Sql Server中创建此表和其他形式,用户可以显示所有表的列表并显示所有数据所以我应该创建基于创建的表的用户的Domain Classes我可以在表上绑定Data的列表以通过WPF App中的GridView显示它,等等...... – 2014-11-08 13:34:51

相关问题