我想了解一下如何使用所有列的约束从MSSQL数据库中检索数据。我列出了服务器上的所有数据库,让用户选择数据库,然后让他们选择一个表来反对CRUD。这将在javascript网格(Slickgrid)中显示,以进行内联编辑。 当您在MSSQL Management Studio中右键单击表并选择编辑前200
时,它将非常接近您所获得的内容Chalenges :
应用程序应该访问经常更改的一堆不同的数据库,因此生成POCO是不可能的。数据库也经常制作,并且不包含FK。
我确实需要一些服务器端验证,最好是客户端也适用于所有列,所以我需要从DB获取有关数据类型,nvarchar长度,可空或否等的信息
我习惯使用 EF / ADO.NET 在 C#中进行编程,但我不介意尝试其他语言,例如{ {3}},如果对我所追求的东西有任何好的支持(尽管对PHP不感兴趣)。
我正在考虑将ASP.NET MVC与ADO.NET一起使用,并将数据读入这样的模型:
public class GridVM
{
public IEnumerable<Column> ColumnDefinitions { get; set; }
public IEnumerable<dynamic> Rows { get; set; }
}
public class Column
{
public string Name { get; set; }
public string Type { get; set; } //perhaps public Type Type?
public bool Nullable { get; set; }
public int MaxLength { get; set; }
}
然后创建一个动态列表,其中的属性数与 ColumnDefinitions 中的条目数相对应。
dynamic
{
public object column1 { get; set; }
public object column2 { get; set; }
public object column3 { get; set; }
//etc, so that I get properties for all the columns
}
我确实有一些代码用于将检索到的数据从Node.js绑定到数据模型,忽略了与列名不对应的属性名称,但我需要在没有已知数据模型的情况下执行此操作。
问题:
这是一个好方法还是应该重新考虑使用其他技术或方法?我现在没有看到这种方法有任何陷阱吗?