[EF1]POCOs(Plain Old C# Object)Entity Framework 4.x: POCOs入门
原文链接:http://www.cnblogs.com/hjzhang/archive/2011/05/18/2050530.html
POCOs 是在Visual Studio 2010和ASP.NET 4.0中开始支持的一个新特性,其入门十分简单,下面我们基于Entity Framework 4.0.来实现一个基于POCOs的代码示例。
首先,创建一个测试工程
然后,新建一个Ado.NET Entity Data Model文件
如下图所示,定义两个类:Albums 和Photos
接下来我们还要确认是否已经关闭了代码自动生成,在Solution Explorer 选择edmx定义文件,在属性框确认Custom Tool为空,如下图所示:
定义以上两个对象的结构
- public class Albums
- {
- public Int32 Id { get; set; }
- public String AlbumName { get; set; }
- public String Remark { get; set; }
- public IList<Photos> Photos { get; set; }
- }
- public class Photos
- {
- public Int32 Id { get; set; }
- public String Name { get; set; }
- public String Description { get; set; }
- public String PicPath { get; set; }
- public Int32 Album_Id { get; set; }
- public Albums Albums { get; set; }
- }
然后建立自己的继承于ObjectContext的对象,在该对象中我们将定义需要使用LINQ查询的对象集合。如下所示:
- public class Mvc3SampleModel : ObjectContext
- {
- private readonly ObjectSet<Albums> _albums;
- private readonly ObjectSet<Photos> _photos;
- public Mvc3SampleModel()
- : base("Name=DbEntities", "DbEntities")
- {
- ContextOptions.LazyLoadingEnabled = true;
- _albums = CreateObjectSet<Albums>("Albums");
- _photos = CreateObjectSet<Photos>("Photos");
- }
- public ObjectSet<Albums> Albums
- {
- get { return _albums; }
- }
- public ObjectSet<Photos> Photos
- {
- get { return _photos; }
- }
下面演示基于LINQ进行查询的一般情况:
- public void GalleryTest()
- {
- var context = new Mvc3SampleModel();
- var visibleAlbums = from a in context.Albums
- where a.AlbumName !=null
- select a;
- foreach (var visibleAlbum in visibleAlbums)
- {
- Console.WriteLine(visibleAlbum.AlbumName);
- }
- var searchPhotos = from p in context.Photos
- where p.Name.StartsWith("M")
- select p;
- foreach (var searchPhoto in searchPhotos)
- {
- Console.WriteLine(searchPhoto.Name);
- }
- }
以下为测试结果
[EF1]POCOs(Plain Old C# Object)Entity Framework 4.x: POCOs入门的更多相关文章
- Java基础 之软引用、弱引用、虚引用 ·[转载]
Java基础 之软引用.弱引用.虚引用 ·[转载] 2011-11-24 14:43:41 Java基础 之软引用.弱引用.虚引用 浏览(509)|评论(1) 交流分类:Java|笔记分类: Ja ...
- [整理]EABI和OABI【转】
本文转载自:https://www.crifan.com/order_eabi_and_oabi/ 1.什么是ABIABI,application binary interface (ABI),应用程 ...
- [caffe]linux下安装caffe(无cuda)以及python接口
昨天在mac上折腾了一天都没有安装成功,晚上在mac上装了一个ParallelDesktop虚拟机,然后装了linux,十分钟就安装好了,我也是醉了=.= 主要过程稍微记录一下: 1.安装BLAS s ...
- [Swift]基础
[Swift]基础 一, 常用变量 var str = "Hello, playground" //变量 let str1="Hello xmj112288" ...
- [Ruby on Rails系列]4、专题:Rails应用的国际化[i18n]
1. 什么是internationalization(i18n)? 国际化,英文简称i18n,按照维基百科的定义:国际化是指在设计软件,将软件与特定语言及地区脱钩的过程.当软件被移植到不同的语言及地区 ...
- [译]一个灵活的 Trello 敏捷工作流
[译]一个灵活的 Trello 敏捷工作流 翻译自 An Agile Trello Workflow That Keeps Tasks Flexible Getting things done 可不只 ...
- iOS10收集IDFA,植入第三方广告[终结]--ADMob
[PS: 前段时间,公司做ASO推广,需要在应用中收集IDFA值,跟广告平台做交互!于是有了这个需求--] 1.首先,考虑了一下情况(自己懒 -_-#),就直接在首页上写了一个Banner,循环加载广 ...
- Java基础-SSM之Spring的POJO(Plain Old Java Object)实现AOP
Java基础-SSM之Spring的POJO(Plain Old Java Object)实现AOP 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 上次我分享过Spring传统的A ...
- CSU 1642 Problem B[难][前缀和]
Description 已知两个正整数a和b,求在a与b之间(包含a和b)的所有整数的十进制表示中1出现的次数. Input 多组数据(不超过100000组),每组数据2个整数a,b.(1≤a,b≤1 ...
随机推荐
- 线上bug的解决方案--带来的全新架构设计
缘由 本人从事游戏开发很多年一直都是游戏服务器端开发. 因为个人原因吧,一直在小型公司,或者叫创业型团队工作吧.这样的环境下不得不逼迫我需要什么都会,什么做. 但是自我感觉好像什么都不精通..... ...
- jQuery操作DOM元素
作为一个后端程序员,也是要和前端页面打交道的.最常见的场景莫过DOM元素操作和前端页面使用AJAX向服务器发送请求.实现上述两个功能当然可以使用原生js来完成,但在实际开发过程中很少这样做,通常会使用 ...
- .Net语言 APP开发平台——Smobiler学习日志:如何快速实现地图定位时的地点微调功能
Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 二.地点微调代码 VB: Dim ...
- DropDownList实现可输入可选择
1.js版本 <div style="z-index: 0; visibility: visible; clip: rect(0px 105px 80px 85px); positio ...
- visual studio 编辑窗口 设置固定选项卡 使窗口选项卡多行显示
工具>选项> 确定后 如图就可以多行显示了.
- 【夯实PHP基础】php开发时遇到白页的调试方法
本文地址 分享提纲: 1. 设置报错报错级别,显示报错 2. 白页的可能原因 1.[设置报错报错级别,显示报错] php开发时,访问地址也对,但就是不出来页面,显示的是 白的页面,所以就可 ...
- Android 手机卫士10--应用管理器
1.添加不同类型条目 class MyAdapter extends BaseAdapter{ //获取数据适配器中条目类型的总数,修改成两种(纯文本,图片+文字) @Override public ...
- 基于JQuery的获取鼠标进入和离开容器方向的实现
做动画时,需要判断鼠标进入和退出容器的方向.网上找到的基于JQuery的实现方法,用函数封装了一下,写了一个示例.注意绑定鼠标事件用的是on(),所以JQuery版本需高于1.7. <!DOCT ...
- Webmin 安装 (centos7 rpm 方式)
网上有很多此类的教程,大多都很老了.这里记录下自己安装Webmin的过程. # 系统准备 > yum -y install perl perl-Net-SSLeay openssl perl-I ...
- 详解Paint的setXfermode(Xfermode xfermode)
一.setXfermode(Xfermode xfermode) Xfermode国外有大神称之为过渡模式,这种翻译比较贴切但恐怕不易理解,大家也可以直接称之为图像混合模式,因为所谓的“过渡”其实就是 ...



