用Linq查询的结果,怎样赋给一字符串变量?
在数据库 IP_Table表 的 IP_LIST字段 存有一字符串:172.168.1.1|172.168.1.2|172.168.1.3|
用LINQ查询如下 :
- C# code
var result = from ip in lqDB.IP_Table where ID == '1' (查询某一条记录) select new ( IPA = ip.IP_LIST );
怎样实现把查询结果赋给一字符串数组或字符串也可以。
这种方法提示 “无效参数”:
- C# code
string sql =string.Join("|",result.ToArray());Join 的第二个参数是个字符串数组,而此处的 result 是个结果集。
不知道怎样实现这样的功能,非常感谢!
[解决办法]
- C# code
List<string> list = new List<string>(); list.Add("172.168.1.1|172.168.1.2|172.168.1.3|"); var result = from ip in list select new { ip }; foreach (var item in result) MessageBox.Show(item.ip);
[解决办法]
- C# code
var result = from ip in lqDB.IP_Table where ID == '1' (查询某一条记录) select ip.IP_LIST; //此处不要使用匿名类string sql =string.Join("|",result.ToArray());
[解决办法]
其实使用匿名类也是可以了,只是代码繁琐了点:
var result = from ip in lqDB.IP_Table
where ID == '1' (查询某一条记录)
select new
(
IPA = ip.IP_LIST
);
string sql =string.Join("|",result.Select(p=>p.IPA).ToArray());