C# 实战笔记

http://www.cnblogs.com/ymnets/p/3424514.html
学习点

关于IEnumerable和IQueryable两接口的区别

二者都是静态类
区另主要在:
(1)所有对于IEnumerable的过滤,排序等操作,都是在内存中发生的。也就是说数据已经从数据库中获取到了内存中,只是在内存中进行过滤和排序操作。
(2)所有对于IQueryable的过滤,排序等操作,只有在数据真正用到的时候才会到数据库中查询。这也是Linq的延迟加载核心所在。

表达树 Expression<Func<TEntity, bool>>

使用表达式树可以将代码表示成一个对象树,在Linq中大量的被应用。树形结构都知道是什么,表达树式的每一个节点都是一个表达式,在C#中我们使用Experssion类进行创建表达式树
Expression<Func<TEntity, bool>>
注func<in参数1,out参数2>, 有输入参数,有返回值

开始项目

新建层

  1. 基础层
    Pray.Code 基础组件,如文件操作与e-mail组件
    Pray.Data 数据库类,引用Code集,并添加EF框架
  2. 应用层
    Pray.Application 业务 引用Code集、Data集、Domain集、Repository集
    Pray.Domain 接口类与实体,仓库接口.引用Code集、Data集
    Pray.Mapping 映射层,与数据层 引用Code集、Data集、Domain集、
    Pray.Repository 连接仓库,与业务中用来new()实体连接Domain中的接口,并添加EF框架
  3. Web应用层
    Pray.Wed 视图层,UI与控制器 引用app业务层、code集、Domain、Mapping集

创建基础控制器

JS相关
修改
.attr({title="dfs",style="padding:5px;"});
.append()添加到结尾

框架的相关备忘

添加一个实体的过程:

1、数据库映射

在Mapping里映射LogEntity 为实体

using System.Data.Entity.ModelConfiguration;
public class LogMap : EntityTypeConfiguration<LogEntity>
    {
        public LogMap()
        {
            this.ToTable("Sys_Log");
            this.HasKey(t => t.F_Id);
        }
    }

2、在Domain层03 Entity添加实体结构

/// <summary>
    /// 操作日志实体
    /// </summary>
    public class LogEntity : IEntity<LogEntity>, ICreationAudited
    {
        /// <summary>
        /// id
        /// </summary>
        public string F_Id { get; set; }
        /// <summary>
        /// 时间
        /// </summary>
        public DateTime? F_Date { get; set; }
    }

3、在Domain层04 IRepository添加泛型接口

 public interface ILogRepository : IRepositoryBase<LogEntity>
    {
    }

4、在Repository层里添加非泛型接口

public class LogRepository : RepositoryBase<LogEntity>, ILogRepository
    {
    }

5、最后在Application层添加应用层

jQuery

prepend在前面添加元素
removeClass

猜你喜欢

转载自www.cnblogs.com/praybb/p/10605421.html