linq to sql“包含”

时间:2009-07-22 09:27:43

标签: asp.net sql linq-to-sql

如果我的表中有一个我要验证的字段存在,我如何使用contains方法来确定它是否存在。

我原本认为contains方法只是接受一个字符串,但它似乎占用了我的整个linq数据对象

2 个答案:

答案 0 :(得分:2)

ContainsIEnumerable的扩展方法,用于确定给定对象是否存在于可枚举项中。那不是你想要的。

我猜你有这样的LINQ查询:

IEnumerable<string> productNames = from p in db.Products select p.ProductName;

现在您要验证ProductName字段是否确实存在以避免运行时错误。实际上没有必要检查。尝试将p.ProductName替换为不存在的字段。编译器会抱怨。

当然,这假定实际的数据库模式与用于生成MSLinqToSQLGenerator的数据库类的模式匹配。

答案 1 :(得分:0)

不确定如何使用LINQ,但你可以这样做:

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE _NAME ='MyTable' and COLUMN _NAME='MyColumn'

然后根据查询返回的计数,您将知道该列是否存在。