我是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);
谢谢
答案 0 :(得分:2)
在匿名对象上定义属性时,不能使用变量。
我建议您查看Dictionary<string,string>
来代表这一点。当涉及到动态变量时,Dictionary / Hashtable可能是解决c#静态特性的最灵活方法
您可以让每个列名称成为词典中的键