我是c#语言的新手,出现了问题。我使用大量的单个文件 DB。
在这里你可以创建一个这样的类:
public class products : DynamicModel
{
public products(String conn) : base("northwind", "products","productid")
{
}
}
现在我会这样做吗:
var products = new { Productname = "HOHOHO" };
直到这里一切正常,但我想查询和更新不同的数据库和表,所以我不知道有一个像"Productname"这样的表列,所以这必须是一个变量:
string foo = "Productname";
var products = new { foo = "HOHOHO" };
但这会导致这样一个事实,即大量查找列"foo",因为字符串不会被解释。
如何在此处插入变量?
这种技术是如何命名的?
感谢您的帮助!
编辑:
感谢TGH!
结合大规模数据库,使用NameValueCollection可以解决这个问题:
NameValueCollection nvc = new NameValueCollection();
nvc.Add(field, (string)fieldValue);
table.Update(nvc, keyValue);
谢谢
在匿名对象上定义属性时不能使用变量。我建议您研究一个Dictionary<string,string>
来表示这一点。当涉及到动态变量时,字典/哈希表可能是绕过 c# 静态性质的最灵活方法。
您可以让每个列名成为字典中的键