• Entity FrameWork 笔记(三)POCO


    在前面两篇文章中,我们看过了Entity FramwWork中的基本查询,在Entity FrameWork 4中提供了POCO的方式,POCO的全称是:Plain Old CLR Object,即提供了对传统CLR对象的支持。

    DataBase

    首先我们来看数据库里面的两张表:

    DataBaseDiagram

    Model

    在这里我们就像添加普通的实体一样:

    image

    EDMX

    我们新增一个edmx文件,选择刚才的两个表:

    image

    生成完成后我们需要注意的一点是,将Custom Tool设置成空,意思呢就是不需要生成代码:

    image

    image

    自定义Context

    我们来自定义Context:

     public class ProjectContext:ObjectContext
        {
            public ProjectContext()
                : base("name=HJRightPlatEntities",
                    "HJRightPlatEntities")
            {
                _Projects = this.CreateObjectSet<Projects>();
                _Modules = this.CreateObjectSet<Modules>();
            }
    
            public ObjectSet<Projects> Projects {
                get {
                    return _Projects;
                }
            }
    
            public ObjectSet<Modules> Modules
            {
                get
                {
                    return _Modules;
                }
            }
    
            private ObjectSet<Projects> _Projects;
            private ObjectSet<Modules> _Modules;
    
        }

    我们来写个测试的方法:

            [TestMethod()]
            public void ProjectsTest()
            {
                using (ProjectContext ctx = new ProjectContext())
                {
                    var pros = from pro in ctx.Projects
                               where pro.ProjectName.Contains("报文消息查询系统")
                               select pro;
                    Assert.AreEqual(1, pros.Count());
                }
            }

    测试结果:

    image

    总结

    在编写时要注意的是,编写的实体要跟在edmx中CSDL里面相对应,如果不同时,我们可以去修改实体,或则修改edmx中的CSDL跟Mappings。如果用过NHibernate的朋友,会感觉到现在的这个edmx就像一个mapping文件一样,不过还是有很大的差别的。

    作者:Henllyee Cui
    出处: http://henllyee.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明。
  • 相关阅读:
    flask修改flask_wtf使其支持json数据的validation验证
    nsq 初学使用日记
    git的日常使用(补课)
    mysql 学习日记 悲观和乐观锁
    19.10.11学习日记随笔 mysql事务隔离性
    伸展树 Splay 模板
    NOI2004 郁闷的出纳员 Splay
    Size Balanced Tree(SBT) 模板
    HDU 4557 非诚勿扰 队列、(记一次失败的SBT尝试)
    HDU 4006 The kth great number 优先队列、平衡树模板题(SBT)
  • 原文地址:https://www.cnblogs.com/Henllyee/p/entityframeworknote3_proco.html
Copyright © 2020-2023  润新知