摘要:
public class ModelHelper <T> where T : new() { public static T ConvertModel(DataRow dr) { T t = new T(); Type modelType = t.GetType(); foreach (PropertyInfo p in modelType.GetProperties()) { p.SetValue(t, GetDefaultValue(dr[p.Name], p.PropertyType), null); } ... 阅读全文
摘要:
安装好vs2012,开始学习vs2012下的mvc,可是在2010下熟悉的上下文基类ObjectContext不见了,取而代之的是DBContext,很是奇怪,一些熟悉的方法不见了,如:实体对象的Attach方法,上下文的ObjectStateManager对象,都不见了,奇怪,如何让上下文对象继承ObjectContext而不是DBContext,只能查资料了。百度了一天中文资料,没有找到,于是上谷歌搜英文资料,终于会找到了解决的方法,问题解决了。问题:We move some projects from VS2010 to VS2012 but still using .NET 4.0 a 阅读全文
摘要:
一是ObjectContext是一种模型优先的开发模式,DbContext是代码优先的开发模式。这是两者最根本的区别。同时两者之间可以相互转换:下面给出转换的例子1 DbContext转为ObjectContextusing System.Data.Entity.InfrastructureObjectContext context =((IObjectContextAdapter)dbContext).ObjectContext;2ObjectContext转为DbContextusing System.Data.Entity.InfrastructureDbContext context. 阅读全文
摘要:
转自:http://www.cnblogs.com/jelea/archive/2013/01/06/2848309.html在项目中会有很多常用的操作方法如添加、删除、修改等,而在使用EF时虽然已是ORM,但仍然会习惯性的在业务层写大量类似方法,为此,分享一个我在项目使用的公共基类,经过多次修改,已在mssql和oracle数据库项目上使用没问题。希望对使用EF开发项目的朋友有帮助,不是说写的有多好,只是为了分享,因为我在使用EF之初也一直在找这样一个类但资源很少。 欢迎拍砖,不要伤人就行。。。以下是 Repository.cs源码 :Repository.cs 1 using Syste. 阅读全文
摘要:
继承和关系支持Entity SQL 直接使用概念实体架构并支持诸如继承和关系等概念模型功能。使用继承时,从超类型实例集合中选择子类型的实例通常是有用的。 Entity SQL 中的 oftype 运算符(类似于 C# Sequences 中的 oftype)提供了此功能。集合支持Entity SQL 将集合视为一类实体。 例如:集合表达式在 from 子句中有效。in 和 exists 子查询已被一般化,以允许使用任何集合。子查询是一种集合。 e1 in e2 和 exists(e) 是执行这些运算的 Entity SQL 构造。 集运算(例如 union、intersect 和 except 阅读全文
摘要:
Entity SQL(ESQL) 是专门为ADO.NET Entity Framework(EF)提供查询更新数据而产生的,也就是ESQL是EF的附属部件。ESQL大大提高了EF的使用性,我们就可以像使用SQL查询Table一样很方便地对EF生成的实体集合,尽管它还是加载配置文件,把ESQL转化成SQL来对Table进行查询,但这可以算是一个非常具有革命性的东东。ESQL乍一眼看上去,跟SQL没有太大区别,但事实上却不尽其然,这不,就遇到了ESQL中的IN关键字,它跟SQL的IN关键字不尽相同,不能在IN后面跟一个查询,而只能跟一个集合类型。不知道是因为在EF设计时就不想再让我们用IN后面跟查 阅读全文
摘要:
由于业务逻辑的多样性,经常得在sql server中查询不同数据库中数据,这就产生了分布式查询的需求现我将开发中遇到的几种查询总结如下:1.access版本 --建立连接服务器 EXEC sp_addlinkedserver --要创建的链接服务器名称 'ai', --产品名称 'access', --OLE DB 字符 'Microsoft.Jet.OLEDB.4.0', --数据源 --格式: -- 盘符:\路径\文件名 -- \\网络名\共享名\文件名 (网络版本) 'd:\testdb\db.mdb' GO --创建链接服 阅读全文
摘要:
--创建链接服务器execsp_addlinkedserver'link_server_name','','SQLOLEDB','server_name';execsp_addlinkedsrvlogin'link_server_name','false','sa','sa','password';execsp_serveroption'link_server_name','rpc out','true' 阅读全文
摘要:
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingCRM.Model;usingSystem.Configuration;usingSystem.Linq.Expressions;usingSystem.Data.SqlClient;usingSystem.Data.Linq;namespaceCRM.DAL{///<summary>///Linq数据访问层///</summary>publicclassLinqHelper{///<summary& 阅读全文
摘要:
1.数据的分布Skip()和take()Skip(100)代表跳过100行后.从第101行开始分页;take(10)表示多少行分页;例:var result=from pdt in db.Productselect pdt;this.dataview.DataSource=result.Skip(10).take(10);this dataview.DataBind();注:这种方式一次性查询出来所有数据,然后再分页;2.下面的方式是每个提交时绑定的都是特定的数据,而非所有数据;public overridevoid DataBind(){db.log=this.response.output 阅读全文