惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Privacy & Cybersecurity Law Blog
Vercel News
Vercel News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
N
Netflix TechBlog - Medium
罗磊的独立博客
F
Fortinet All Blogs
T
Threatpost
Y
Y Combinator Blog
博客园_首页
美团技术团队
Security Latest
Security Latest
博客园 - 三生石上(FineUI控件)
T
Tailwind CSS Blog
V
V2EX - 技术
The Cloudflare Blog
L
LINUX DO - 热门话题
博客园 - 司徒正美
Jina AI
Jina AI
P
Proofpoint News Feed
宝玉的分享
宝玉的分享
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
Cybersecurity and Infrastructure Security Agency CISA
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
WordPress大学
WordPress大学
The Hacker News
The Hacker News
P
Privacy International News Feed
T
The Exploit Database - CXSecurity.com
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
M
MIT News - Artificial intelligence
Latest news
Latest news
NISL@THU
NISL@THU
Google DeepMind News
Google DeepMind News
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cisco Blogs
雷峰网
雷峰网
Application and Cybersecurity Blog
Application and Cybersecurity Blog
B
Blog RSS Feed
W
WeLiveSecurity
D
DataBreaches.Net
G
Google Developers Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
GRAHAM CLULEY
Spread Privacy
Spread Privacy
Know Your Adversary
Know Your Adversary
TaoSecurity Blog
TaoSecurity Blog
S
Securelist
Help Net Security
Help Net Security

博客园 - 破孩

C#中Invoke的用法(转) C# 中委托 Eclipse安装ADT Plugin时发生错误,提示连接不到 https://dl-ssl.google.com/android/eclipse/...的解决办法! 跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(五)Models(ORM、Repository模式、分页) 跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(四)Models(ORM、Repository模式、分页) 跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(三)Models(ORM、Repository模式、分页) 跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(一)数据库建模 .NET 中的 委托与事件 (转) 委托、事件与Observer设计模式 设计模式(转) 设计模式概述(转) C#面试基础问题 (转) C#的抽象类和方法,重载,覆盖,隐藏 学习asp.net比较完整的流程 经典C#面试题集锦(仔细分析,会学到更多) C#中的运行时类型与编译时类型收藏(转) 简化理解回调函数- - 简化理解回调函数- - 想成为最牛程序员吗?以下几点有助你实现这个目标。
跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(二)Models(ORM)
破孩 · 2009-09-03 · via 博客园 - 破孩

在《企业架构模式》中,译者将Repository翻译为资源库。给出如下说明:
通过用来访问领域对象的一个类似集合的接口,在领域与数据映射层之间进行协调。

在《领域驱动设计:软件核心复杂性应对之道》中,译者将Repository翻译为仓储,给出如下说明:
一种用来封装存储,读取和查找行为的机制,它模拟了一个对象集合。

使用该模式的最大好处就是将领域模型从客户代码和数据映射层之间解耦出来。

”摘自http://www.cnblogs.com/carysun/archive/2009/03/20/repository.html
具体请各位百度一下吧。

现在开始创建所需的文件夹,“Models”文件夹是提供所有实体类的接口,比如“用户”、“账目”等,以及对这些实体类的所有操作功能(增删改查),于是我们首先在“Models”文件夹下创建三个接口,它们分别是"IUser" "IAccount" "IAccountType"作为用户类、账目类和账目类型类的接口,代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PBAccount.Models
{
   
public interface IAccount
    {
       Guid AccountID { 
getset; }
       IUser user { 
getset; }
       
bool InOrOut { getset; }
       
float Amount { getset; }
       IAccountType AccountType { 
getset; }
       DateTime Time { 
getset; }
       AccountStatus Status { 
getset; }
       
string Detail { getset; }
    }
/// <summary>
    
/// 账目可见性
    
/// </summary>
   public enum AccountStatus
   {
      
/// <summary>
      
/// 私有
      
/// </summary>
       personal=0,
      
/// <summary>
      
/// 公开
      
/// </summary>
       open
   }

}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace PBAccount.Models
{
  
public   interface IAccountType
    {
      Guid AccountTypeID { 
getset; }
      
string AccountTypeName { getset; }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace PBAccount.Models
{
   
public  interface IUser
    {
       Guid UserID { 
getset; }
       
string LoginName { getset; }
       
string Name { getset; }
       
bool Sex { getset; }
       DateTime BirthDay { 
get;set;}
       
string Profession { getset; }
       
int Role { getset; }

    }
}

以上就是三个接口啦,具体内容一看明了.OK,现在还在要Models文件夹下建二个文件夹,它们分别是“User” "Account",这两个文件夹下主要是具体功能的实现。Models里面的东东是不与数据库直接打交道的,我们使用Repository模式来提供与数据库直接打交道的增删查改的操作,Models直接使用Repository提供的基本功能。好了,我们先把Models放在这儿不管,下面来设置Repository模式,首先创建一个Repository文件夹(与Models平级),如下图:

,要与数据库打交道,我们就想到了EF这个ORM,关于EF,请参考:http://www.cnblogs.com/xray2005/archive/2009/05/07/1452033.html ,
打开“服务器资源管理器”,建立与我们创建的数据库的连接,如下图:

,然后,在“Repository”文件夹下面添加“ADO.NET Entity Data Model”,我们命名为“AccountEDM”,
然后选择“从数据库生成”,把我们建立的三个表全选,系统就自动生成了一个EF,如下图:

这一篇就介绍到这儿,下一篇我们具体介绍Repository模式与EF结合在ASP.NET MVC中的应用。
欢迎批评指正。