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 交通频道 作文范文 初一数学寒假生活指导答案 中考满文作文:传递(4) 优秀教师简要事迹材料 可惜时间不够,让我们去试验,永远有多远? 秀才不怕衫破下一句 2014世界粮食日主题世界粮食日相关资料及历年主题 善待人生,超越生命 抱着元宝跳井 最长的好句子 粮食局2006年工作总结及2006年工作思路 题鹅 诗意 有一种励志叫泰森 科研项目合作协议书 青云山拾趣作文 云南绿色产业的资源整合策略 出国(境)留学(进修、工作)协议书 蚊子的会议 喻璠 环境问题的制度根源与对策 男人好色,跟人品没有关系 最初的感性 高中升旗仪式讲话稿 等你们都退了,就是我们的春天! 小 草(课堂小练笔) 八一建军节的由来作文:建军节的来由 参观陶瓷展作文500字 关于赞美秋天的诗歌:秋晨 末日风波作文600字 离别后,走过某处不知名的忧伤作文550字 那条小路 走向挫折作文600字 第一次拥抱母亲读后感 “奇妙之旅”游戏作文400字 2011年教师节征文 又是一个教师节 送给:停留在曾经的人 阁楼里的爱 辅导员工作总结报告 亲们、原谅我的冷漠。冷字当头 遇见,只为心中的你 浮云说 小学六年级作文600字:“咔” 清明翠竹 励志文章:能控制早晨的人,方可控制人生 别说 2013年教师实习工作总结 保安工作转正申请书 关于中秋佳节的诗歌:我的思念是圆的 人事编制工作总结 2016派出所指导员个人述职述廉报告 台湾,妈妈喊你回家作文2100字 卖花姑娘的忧伤

Copyright © 2016 phpStudy |