- 博客(2)
- 资源 (5)
- 收藏
- 关注
原创 sql中select不在group by中出现的字段
查询的t.real_name字段,不在group by的字段中SQL:select max(case when 1=1 then t.real_name end),t.user_id from lus_user t group by t.user_id结果:1 建华 8258992 江涛 1218233 争平 121944使用group by 时,select 涉及的列要么是参与分组的列,要么列包含在聚合函数中where将对分组前的所有数据进行筛选。having将对分组后的一组数据
2022-05-09 10:39:52
3370
linqTempDemo
利用代码生成器搭建Linq系统框架
本文介绍怎么样创建Linq项目框架。其中DAL层使用LinqTo Sql,BLL层使用CodeSimith模板生成实体类。
目的是推进linq技术的使用。
实例demo下载:linqTempDemo
一.CodeSimith生成Linq To Sql文件模板功能介绍
1、生成常用的增、删、改的逻辑方法。其写法与常规写法基本相同。已经经过测试
2、 2、 生成带有分页获取列表的方法,如下图。已经经过测试。
(a)
a) 此方法中可自定义动态查询方法。
( b)方法中准备了排序方法,我们可通过简单的注释一行代码,来实现列表排序功能。
3、针对单独类写了整体缓存方法,可以将数据缓存在BLL层,需要的可调用;缓存需要根据具体需求使用或改进。
二、二、 CodeSimith模板使用方法
1 1、此模版为CodeSimith模板,使用方法自然和其他方法一样,只需要按照你习惯了的CodeSimith成才
方法就可以;
2、其中引用的Linq自动生产类.dbml需要命名为LinqToSql.dbml;
三、三、 Linq项目架构的搭建
1、 1、 按照公司一般要求创建三层架构:项目名称如下图:
2、 2、项目引用关系:
3、 3、DAL层新建linqdbml文件。
(a) a)此处创建的LinqToSql自动生产类.dbml需要命名为LinqToSql.dbml;
(b b)在LinqToSql.dbml文件中添加数据库实体映射类,如数据表,视图、存储过程。此处只需打开资
服务器源管理器拖入所需对象即可。
(c)修改LinqToSql.dbml的默认数据库连接字符串
默认连接字符串在AppConfig和Settings.settings中,如下图,我们为方便需要将其修改
为引用Web.Congfig中的数据库连接字符串。
使用时我们只需要上图标红处修改为:
public LinqToSqlDataContext () :
base(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString, mappingSource)
{
OnCreated();
}
即可。不要忘记引用所需程序集System.Configuration
4、 4、 用Codesimith模板生成BLL层逻辑代码类:
(a) a) 配置Codesimith数据库连接
(b)选择表,生成代码文件
5、将生成的代码类引用在项目中:
(a) a) 添加辅助类,如下图:
(b) b) 添加程序集引用,如下图:
(c)将生成代码文件复制到项目中,如下图:
6 6、自定义方法使用。模版生成类均使用public partial class属性,我们自定义方法不要直接添加到
生成类中 ,需要再添加一个public partial class:在此类文件中添加修改我们的自定义方法。
此时怎么引用BLL中的方法我就不用说了。
利用代码生成器搭建Linq系统框架现在就完成了。
2012-05-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人