Entity Framework 5问题集锦
ORM框架万万千,一直都使用NHibernate,没用过其他的。最近闲来学习下微软自家的Entity Framework,记录一些我学习过程中遇到的头疼问题。(不断更新中...)
教程:http://www.cnblogs.com/mbailing/tag/Entity%20Framework/
1.如何映射实体的枚举属性?
这跟Entity Framework 4、5或6版本没关系,请把.NET版本换成4.5就可以支持枚举类型了。之前版本想实现枚举属性参考:
http://www.cnblogs.com/ryanding/archive/2010/04/18/1714854.html
http://www.cnblogs.com/snowdream/archive/2010/04/19/use-enum-in-adonet-entity-framework-4.html
2.如何实现属性的唯一键?
目前不支持,只能通过手动实现。参考:
http://stackoverflow.com/questions/5701608/unique-key-with-ef-code-first
3.如何实现实体属性的数据验证?
可以使用partial关键字和MetadataTypeAttribute特性来实现。
using System.ComponentModel.DataAnnotations; // 假设这是由EF自动生成的实体类,我们需要对Name属性进行验证。
// 因为每次修改edmx保存时,该类又被重新生成。那我们写的代码就白费了。
public partial class User
{
public string Name { get; set; }
} // 新建一个User,加上关键字partial和MetadataType特性。
// 利用partial,我们新建的类就会和EF生成的类合并。我们可以在这个类里做任何事都不会白费了。
[MetadataType(typeof(UserMetadata))]
public partial class User
{ } // 建一个元数据,对Name属性进行验证。属性名必须一致。
internal class UserMetadata
{
[RegularExpression("^([\u4E00-\u9FA5]|[\uFE30-\uFFA0]|[a-zA-Z0-9_]){3,12}$")]
public string Name { get; set; }
}
3.如何为DateTime、Guid类型的属性设置默认值?
Entity Framework 5问题集锦的更多相关文章
- Entity Framework 问题集锦
作者:疯吻IT 出处:http://fengwenit.cnblogs.com 1. No Entity Framework provider found for the ADO.NET provid ...
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库
在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...
- Entity Framework Core 1.1 升级通告
原文地址:https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-entity-framework-core-1-1/ 翻译:杨晓东 ...
- Entity Framework Core 实现MySQL 的TimeStamp/RowVersion 并发控制
将通用的序列号生成器库 从SQL Server迁移到Mysql 遇到的一个问题,就是TimeStamp/RowVersion并发控制类型在非Microsoft SQL Server数据库中的实现.SQ ...
- 采用MiniProfiler监控EF与.NET MVC项目(Entity Framework 延伸系列1)
前言 Entity Framework 延伸系列目录 今天来说说EF与MVC项目的性能检测和监控 首先,先介绍一下今天我们使用的工具吧. MiniProfiler~ 这个东西的介绍如下: MVC Mi ...
- 来,给Entity Framework热热身
先来看一下Entity Framework缓慢的初始化速度给我们更新程序带来的一种痛苦. 我们手动更新程序时通常的操作步骤如下: 1)把Web服务器从负载均衡中摘下来 2)更新程序 3)预热(发出一个 ...
- 采用EntityFramework.Extended 对EF进行扩展(Entity Framework 延伸系列2)
前言 Entity Framework 延伸系列目录 今天我们来讲讲EntityFramework.Extended 首先科普一下这个EntityFramework.Extended是什么,如下: 这 ...
- Entity Framework教程(第二版)
源起 很多年前刚毕业那阵写过一篇关于Entity Framework的文章,没发首页却得到100+的推荐.可能是当时Entity Framework刚刚发布介绍EF的文章比较少.一晃这么多年过去了,E ...
- Entity Framework 6 Recipes 2nd Edition 译 -> 目录 -持续更新
因为看了<Entity Framework 6 Recipes 2nd Edition>这本书前面8章的翻译,感谢china_fucan. 从第九章开始,我是边看边译的,没有通读,加之英语 ...
随机推荐
- bat操作数据库mysql
createDB.bat文件内容: @echo off cd C:/Program Files/cl_ZWL_App/<a href="http://lib.csdn.net/base ...
- poj 1273 (nyoj 323) Drainage Ditches : 最大流
点击打开链接 Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 49648 Accepte ...
- elasticsearch开启脚本及使用
开启script: Scripting settingsedit The script.disable_dynamic node setting has been replaced by fine-g ...
- (转)C#调用非托管Win 32 DLL
转载学习收藏,原文地址http://www.cnblogs.com/mywebname/articles/2291876.html 背景 在项目过程中,有时候你需要调用非C#编写的DLL文件,尤其在使 ...
- Oracle数据库——常用命令(用户管理、数据库导入导出)
--==cmd控制台==-- --==日常用户管理SQL==-- --连接到SQLPLUS >sqlplus /nolog --以dba身份连接 sql>conn / as sysdba ...
- 跨平台c++ Coroutine,仿unity3d实现
不多说,贴代码: #include "stdafx.h" #include <list> #include <thread> #include <ch ...
- phonegap/cordova 升级版本
调用语句 : windows用户 npm update -g cordova 如果是 mac系统的用户 使用: 查看cordova信息 npm info cordova 查看cordova 版本 查 ...
- Retina CS强大漏洞检测工具
RetinaCS强大漏洞检测工具 Eeye数字安全公司成立于上世纪九十年代末期,它是世界领先的安全公司,它采用最新研究成果和创新技术来保证您的网络兄系统安全,并向您提供最强大的如下服务:全面的.漏洞评 ...
- navicat 连接oracle
Navicat远程连接oracle数据库数据库需要设置一下oci.dll. 下面介绍如何进行设置. 工具/原料 Navicat Pre instantclient-basiclite-nt-12. ...
- LoadRunner性能测试指挥中心Controller 《第四篇》
一.设计场景 1.设计性能测试场景 Controller有两个视图:设计(Design)视图和运行(Run)视图.启动Controller,在Controller主界面里,我们可以看到这两个视图. 1 ...