Nbear外部配置文件方式定义实体元数据


【IT168技术文档】

   前面的介绍中我们已经看到,实体定义中我们可以给Entity设置TableAttribute,对于属性我们可以设置Primary、ColumnName或CustomProperty这些Attribute。

以Attribute方式设置元数据很方便,但是,对元数据的修改必须重新编译才能生效。为了解决这样的问题,NBear中同时提供在外部配置文件中定义这些元数据的方式。

     注意,如果对同一个Entity或属性同时设置了Attribute和外部文件设置,配置在外部配置文件中的设置会覆盖直接写在Attribute中的设置。这样有一个很大的好处:我们可以在初始开发时将配置直接写在Attribute中,这样非常方便调试和修改。而在程序部署以后,如果需要修改元数据定义,只需修改外部配置文件,就能在不需重新编译的情况下及时生效。

    下面是一个外部配文件的示例:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="EntityConfiguration" type="NBear.Common.EntityConfigurationSection, NBear.Common"/>
</configSections>
<EntityConfiguration>
<Entity fullName="NBear.Test.UnitTests.OrderDetailsExtended2">
<Table isView="true">
<Name>Order Details Extended</Name>
</Table>
<Columns>
<Column propertyName="ProductName2" columnName="ProductName"/>
<Column propertyName="OrderID" isPrimaryKey="true"/>
<Column propertyName="ProductID" isPrimaryKey="true"/>
<Column propertyName="Sample2" isCustomProperty="true">
<Parameters>
<Parameter>Sample2</Parameter>
</Parameters>
</Column>
</Columns>
</Entity>
</EntityConfiguration>
</configuration>

    注意,必须在Web.config或App.config中先注册一个名叫EntityConfiguration的section,然后在这个EntityConfiguration中定义实体的元数据。基本的格式如上面的示例。

    每个Entity对应一个Entity元素,Entity元素只有一个属性fullName,值必须为typeof(Entity).FullName。Entity可以包含一个Table和一个Columns子元素。

    Table元素可以包含如下属性:isView, updateExtendedOnly, isContract和updateTableName,以及如下子元素:Name,AdditionalWhere和AdditionalInsert,分别代表TableAttribute的相应属性。
 
    Columns元素下定义对Column的定义。

    每个Column元素可以包含属性包括:propertyName,columnName,isPrimaryKey和isCustomProperty,以及Parameters子元素(如示例),分别代表了PrimaryKey,ColumnName和CustomProperty这些Attribute的定义。

本文作者:



相关阅读:
JQUERY1.6 使用方法四 检测浏览器
JavaScript 面向对象代码实践
Javascript 仿歌词智能滚动代码
php mysql索引问题
HTML之特殊字符
PHP函数实例:HTML字符串过滤代码
怎么使用户能访问ftp,但不能远程登录
Linux VPS一键安装包收集整理
CSS教程:expression在Chrome的问题
jQuery EasyUI API 中文文档 - DateBox日期框
PHP不实用大型系统的九大原因
linux中如何挂载NTFS和FAT文件系统
防止动态加载JavaScript引起的内存泄漏问题
JSF2: Ajax事件和错误
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 操场上的笑声 不知道的事 如果200字 一张难忘的奖状作文900字 我是个什么人作文300字 小学五年级作文500字:读自己的花是让别人看的有感 真想对你说声“对不起” 那夏天的雨 初中初二作文400字:愿望总是无法实现——彩虹 你偷走了我的心 可我牵不住你的手 《天论译文-翻译》节选 我美丽的家乡——朝阳作文500字 4s店前台接待工作总结 关于儿童节的诗歌选集 xxxx银行竞聘上岗演讲稿 红色之旅之西柏坡观后感 幼师演讲:做一名真正合格的幼儿教师 能不能 高中高二作文900字:如今、各在两地谁在想谁 县政府半年工作总结 计算机动漫设计比赛活动策划书 班里一次精彩的吹气球比赛 旅行随笔----放开自己 调皮的表妹 博大的母爱作文 在校园里早春天 2016市审计局干部教育培训工作计划 小学六年级作文550字:弟弟,你知道吗? 销售员辞职申请报告 走过青涩岁月——送给我的一切朋友 夏令营开营仪式上的致辞 狐狸与警官作文400字 一垄情诗在春天的画卷里悄然盛开 爱干净的同学作文400字 新学期学生会主席竞聘演讲稿 二十年后再到这里来 小学音乐教师培训心得体会 老姐作文1900字 青蛙和墨鱼 关于夏天的日记 穿越时空徐嘉颖作文700字 关于赞美老师的句子 迎新晚会闭幕词 感谢老师的诗歌:感谢您,老师 中学体育教师述职报告 视线模糊作文800字 个人诚信问题检讨书 2014小学班主任第一季度工作总结 四年级上册语文复习资料(鲁教版) 黑龙江伊春高考满分作文范文800字

Copyright © 2016 phpStudy |