随笔分类 -  EF 和 MVC

摘要:场景: 2个数据库, 一个新,一个旧, 把旧的 数据库中的数据,导入到新的数据库中, 使用到了2个 EF实体模型, 新数据库 和 旧数据库中的表,有的名称是相同的 (但是结构是不同的) 旧的数据库中的 tb_area 表,只有2个字段 新数据库中的 tb_area 有很多字段 ,结果新数据库里面的 表,由于和旧数据库的表 重名,导致旧数据库里面的 表生产的cs文件 没有了, 只剩... 阅读全文
posted @ 2014-07-31 18:09 梨花驿路 阅读(580) 评论(0) 推荐(0) 编辑
摘要:一: @model 指令 或者也叫 @model关键字 注释:@model指令以提供一个更干净简洁的方式来指明你想要在视图文件中引用强类型模型类 作用:让视图文件(cshtml)更易读易写;VS 智能提示更加方便、丰富(都可以通过对象.属性 来点出来);编译时节省检查时间; 举例: 当我们在一个视图页面引入 这段话 @model IEnumerable 那么就表示,传入本视图页面的... 阅读全文
posted @ 2014-07-17 13:30 梨花驿路 阅读(204) 评论(0) 推荐(0) 编辑
摘要:在有的时候,你用的VPS,服务器或者是虚拟空间可能是没有安装MVC3的,下面我们就自己来手动来让虚拟空间支持(前提是空间必须是.net 4.0的,因为MVC3是在4.0下运行) 我们先在web.config 里面加上一行代码,让服务器显示我们缺少什么文件 我们创建一个空的MVC3项目发布的时候,他的bin下面只有以下4个dll文件我们上传这个空的MVC3项目到服务器上,看看运行抱... 阅读全文
posted @ 2014-05-23 11:29 梨花驿路 阅读(557) 评论(0) 推荐(0) 编辑
摘要:2010年發行ASP.NET MVC 2.0版,2011年發行ASP.NET MVC 3.0版,2012年發行ASP.NET MVC 4.0版 MVC3 需要.net framework 4.0 版本. 支持多视图引擎 在 ASP.NET MVC3 中,增加视图的对话框中允许你选择你希望的视图引擎,在新建项目对话框中,你可以指定项目默认的视图引擎,可以选择 WebForm,Ra... 阅读全文
posted @ 2014-05-16 18:05 梨花驿路 阅读(13601) 评论(0) 推荐(3) 编辑
摘要:接下来,我们就要到业务逻辑层了,简单的说,业务逻辑层就是调用Repository(可以看做是DAL数据库访问层) 先来看看项目的架构 我们现在就开始来做BLL层. 同样,先编写 UserInfoService ,这个就是调用 UserInfoRepository 先添加对项目的引用,Model层,IRepository(数据库访问层的接口),Repository(数据库访问层),由于... 阅读全文
posted @ 2014-03-27 18:02 梨花驿路 阅读(1189) 评论(1) 推荐(0) 编辑
摘要:抽象一个数据库访问层的统一入口(类似于EF的上下文,拿到上下文,就可以拿到所有的表).实际这个入口就是一个类,类里面有所有的仓储对应的属性.这样,只要拿到这个类的实例,就可以点出所有的仓储,我们在 Repository层里面添加一个类 DbSession.csnamespace YouJiao.Mv... 阅读全文
posted @ 2014-03-26 17:48 梨花驿路 阅读(1273) 评论(0) 推荐(0) 编辑
摘要:我们现在先来看看数据库的生成顺序 居然是 Idal层排在第一,而 web层在第二,model层反而在第三 了 我们需要把 coomon 公用层放在第一,Model层放在第二,接下来是 Idal层,dal层,然后是bll层,最后是 web层,这个顺序怎么调整呢? 点击旁边的依赖项. 分别把每个项目所依赖的项目都勾选上,最后点击确认后,我们看看生成顺序. 这样,当我... 阅读全文
posted @ 2014-03-26 14:55 梨花驿路 阅读(877) 评论(0) 推荐(0) 编辑
摘要:解决方法 在web.config里面添加 注意:Version后面的 1.0.66.0 要根据你安装的sqlite的版本来写.所有的web.config如下 ... 阅读全文
posted @ 2014-03-23 17:34 梨花驿路 阅读(2968) 评论(0) 推荐(0) 编辑
摘要:一:首先我们来搭建最基本的项目框架,这里使用MVC3作为web项目,然后我们添加几个类库项目 最后的项目如下, 其中有一个 YouJiao.MvcWeb.Repository 实际就当做是 DAL层即可 数据库访问层 当层多了以后,我们添加几个解决方案文件夹,这样项目看起来就清楚一些 因为现在还没有开始写接口,所以 接口的 解决方案文件夹 还是空的. 二:开始在Mode... 阅读全文
posted @ 2014-02-26 13:48 梨花驿路 阅读(1137) 评论(0) 推荐(0) 编辑
摘要:今天拿Entity Framework改写早期的一个项目,涉及到对NULL值处理的时候,遇到了点问题,就是如何查询数据库中某字段为NULL的记录,写了几个测试用的例子,然后用SQL Server Profiler抓SQL。 测试1:直接使用null var clients = ctx.Clients.Where(c => c.ParentGUID == null); 对应的SQL是:... 阅读全文
posted @ 2014-02-10 17:58 梨花驿路 阅读(1364) 评论(0) 推荐(0) 编辑
摘要:Entity Framework是个好东西,虽然没有Hibernate功能强大,但使用更简便。今天整理一下常见SQL如何用EF来表达,Func形式和Linq形式都会列出来(本人更喜欢Func形式)。 1、简单查询: SQL: SELECT * FROM [Clients] WHERE Type=1 AND Deleted=0 ORDER BY IDEF://Func形式 var clien... 阅读全文
posted @ 2014-02-10 17:57 梨花驿路 阅读(308) 评论(0) 推荐(1) 编辑
摘要:Html.BeginForm与Ajax.BeginForm都是MVC架构中的表单元素,它们从字面上可以看到区别,即Html.BeginForm是普通的表单提交,而Ajax.BeginForm是支持异步的表单提交,这对于我们开发者来说是一个福音,我们不用再自己去用JQ代码了,直接用MVC自代的Ajax.BeginForm就可以很容易的完成一个异步的表单提交动作。 Html.BeginForm... 阅读全文
posted @ 2013-12-12 10:36 梨花驿路 阅读(347) 评论(0) 推荐(0) 编辑
摘要:ViewData.ModelState.AddModelError("FormValidator", message); foreach (string field in Request.Form.Keys){ ViewData.Add(field, Request.Form[field].Trim());}然后Form中用HtmlHelper创建的Input控件会自动从View... 阅读全文
posted @ 2013-12-11 17:56 梨花驿路 阅读(256) 评论(0) 推荐(0) 编辑
摘要:前言 导航高亮一直是一个让大家头疼的问题。 纯 Javascript 的话可以判断当前页面的地址和链接地址是否有关系。 这样的弊端就是自由度太低,MVC 下会出一定的问题 (MVC 下有默认的 Controller 和 Action) 另一种方案是前端后端结合,为每一张页面设置一个属性,然后在页面中判断。满足条件便高亮。 这样的弊端就是,需要为你所有的页面设置属性,非常麻烦! 那么有没... 阅读全文
posted @ 2013-12-11 17:42 梨花驿路 阅读(450) 评论(0) 推荐(0) 编辑
摘要:在需要进行测试路由是否匹配的项目中引用 RouteDebug.dll 并且在MVC的Global.asax里面加入一段代码 //下面这行代码一定是在 RegisterRoutes(RouteTable.Routes);之后RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes);如图所示 阅读全文
posted @ 2013-12-11 16:48 梨花驿路 阅读(278) 评论(0) 推荐(0) 编辑
摘要:MVC3下的3种验证 (1):前台Jquery Validate脚本验证 引入脚本 编写规则和错误信息 $().ready(function () { $("#signupForm").validate({ rules: { //重要:这里是所有的规则 f... 阅读全文
posted @ 2013-12-11 16:42 梨花驿路 阅读(446) 评论(0) 推荐(0) 编辑
摘要:MetadataType的使用,MVC的Model层数据验证 指定要与数据模型类关联的元数据类 using System.ComponentModel.DataAnnotations; //指定要与数据模型类关联的元数据类 [MetadataType(typeof(Product_MetaData))] public partial class Product ... 阅读全文
posted @ 2013-11-14 18:08 梨花驿路 阅读(521) 评论(0) 推荐(0) 编辑
摘要:1:Jquery的异步 和 HtmlHelper的ajax异步。前者自己手写,后者则是强大到随便写2句就可以将整个from里面的东西都执行异步的提交,强大··· 2:如果是MVC里面后台如果想直接用自带的JSON返回给前台的ajax的话,如果请求是get 还需要设置为 允许get请求才可以 3:jquery的验证使用jquery的validate插件非常方便,(写一下relues规则就可以了... 阅读全文
posted @ 2013-10-15 11:36 梨花驿路 阅读(207) 评论(0) 推荐(0) 编辑
摘要:假如你有个表,有30个字段,你只想更新其中的1到2个字段的话,就可以用得上这篇文章 作用:类似于我们以前的sql代码 update xxx表 set name=’ok’,pwd=’ok’ where id=1 这样 建议看看ApplyCurrentValues,可以只更新有修改的值。另外,可以学习一下怎么使用SetModifiedProperty,可以只更新指定的字段。用不着这么麻烦,... 阅读全文
posted @ 2013-10-14 18:02 梨花驿路 阅读(684) 评论(0) 推荐(0) 编辑
摘要:EF4.0和EF5.0增删改查的写法区别public T AddEntity(T entity) { //EF4.0的写法 添加实体 //db.CreateObjectSet().AddObject(entity); //EF5.0的写法 db.Entry(entity).State = EntityState.Added; //下面的写法统一 ... 阅读全文
posted @ 2013-09-23 09:28 梨花驿路 阅读(664) 评论(0) 推荐(1) 编辑