苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.3-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 7657|回复: 2

[C#语言基础] 一个泛型的小例子 Linq查询解决Combox绑定问题

[复制链接]
发表于 2012-7-27 09:33:15 | 显示全部楼层 |阅读模式
找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里联系我
自己写的皮肤为了好看只取了Text没有Value,现在用这个方法解决一下只有Text取Value值不方便的方式
你只要有一个查询这个表中所有数据的方法就可以了当然也可以只返回这两列
[C#] 纯文本查看 复制代码
代码 
       /// <summary>
        /// 根据栏目栏目名称获取索引
        /// </summary>
        /// <param name="fiId">栏目名称</param>
        /// <returns>栏目索引</returns>
        private string GetFunctionNameByName(string Name)
        {
            var result = this.objWSM.GetFunctionInfo().AsEnumerable().Where(f1 => f1["fiName"].ToString().Trim() == Name.ToString().Trim()).FirstOrDefault();
            return result["fiId"].ToString();
        }


GetFunctionInfo是一个查询表中所有信息的方法

/// <summary>
        /// 根据栏目索引获取栏目名称
        /// </summary>
        /// <param name="fiId">栏目索引</param>
        /// <returns>栏目名称</returns>
        private string GetFunctionNameById(int fiId)
        {
            var result = this._fiTable.AsEnumerable().Where(fi => Convert.ToInt32(fi["fiId"]) == fiId).FirstOrDefault();
            return result["fiName"].ToString();
        }

两个方法是对应的,感觉这样查询方便不少,直接在前台就可以完成,跟数据库连接的时候只要一个查询所有的方法就可以了
来解释一下这一步吧
this.objWSM.GetFunctionInfo().AsEnumerable().Where(f1 => f1["fiName"].ToString().Trim() == Name.ToString().Trim()).FirstOrDefault();
this.objWSM.GetFunctionInfo()是一个查询所有的方法
AsEnumerable().Where()反回的是一个泛型的行,可以用LinQ表达式查询
f1 => f1["fiName"].ToString().Trim() == Name.ToString().Trim())Linq表达式
F1是新生成的一个行的名称
f1["fiName"].当然就是这个行里的列名了,=>后面是条件前面是集合
f1["fiName"].ToString().Trim() == Name.ToString().Trim()就表达在这个行里有这两个值相等的,就取出来
FirstOrDefault();表示取第一行的意思
到这里问题差不多都解决了,只要一个查询这两列的方法,在前台写上这样两个方法,每次调用就OK了,不用专门的写两个访问数据库的方法,感觉还是很方便的。
发表于 2013-4-18 09:16:11 | 显示全部楼层
找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里联系我
膜拜中……
发表于 2013-10-16 21:08:05 | 显示全部楼层
找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里联系我
牛xxxxx  都是大神啊
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备17001017号-1)

GMT+8, 2021-9-29 01:05

© 2014-2021

快速回复 返回顶部 返回列表