首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NHIbernate readonly属性 - 流畅的映射

NHIbernate readonly属性

在NHibernate中,readonly属性是一个用于限制对象实例的访问的属性。通过将readonly属性设置为true,您可以确保对象在客户端代码中不可变,这样有助于提高应用程序的性能和安全性。

属性定义

代码语言:txt
复制

public class Customer

{

代码语言:txt
复制
public virtual int Id { get; protected set; }
代码语言:txt
复制
public virtual string Name { get; set; }
代码语言:txt
复制
public virtual string Email { get; set; }
代码语言:txt
复制
public virtual bool IsApproved { get; set; }
代码语言:txt
复制
public virtual DateTime? ApprovedDate { get; set; }
代码语言:txt
复制
public virtual bool IsLocked { get; set; }
代码语言:txt
复制
public virtual DateTime? LockedDate { get; set; }
代码语言:txt
复制
public virtual bool IsDeleted { get; set; }
代码语言:txt
复制
public virtual DateTime? DeletedDate { get; set; }
代码语言:txt
复制
public virtual bool IsVoided { get; set; }
代码语言:txt
复制
public virtual DateTime? VoidDate { get; set; }
代码语言:txt
复制
public virtual string Password { get; set; }
代码语言:txt
复制
public virtual string PasswordSalt { get; set; }
代码语言:txt
复制
public virtual string RecoveryToken { get; set; }
代码语言:txt
复制
public virtual DateTime? RecoveryTokenExpiration { get; set; }
代码语言:txt
复制
public virtual bool RequiresPasswordReset { get; set; }
代码语言:txt
复制
public virtual string PhoneNumber { get; set; }
代码语言:txt
复制
public virtual string Country { get; set; }
代码语言:txt
复制
public virtual string State { get; set; }
代码语言:txt
复制
public virtual string City { get; set; }
代码语言:txt
复制
public virtual string Address { get; set; }
代码语言:txt
复制
public virtual string PostalCode { get; set; }
代码语言:txt
复制
public virtual string Note { get; set; }
代码语言:txt
复制
public virtual DateTime? LastLogin { get; set; }
代码语言:txt
复制
public virtual string ExternalId { get; set; }
代码语言:txt
复制
public virtual bool IsPublic { get; set; }
代码语言:txt
复制
public virtual bool AllowMarketing { get; set; }
代码语言:txt
复制
public virtual bool AllowAnalytics { get; set; }
代码语言:txt
复制
public virtual bool AllowSmtp { get; set; }
代码语言:txt
复制
public virtual bool AllowSms { get; set; }
代码语言:txt
复制
public virtual bool AllowPush { get; set; }
代码语言:txt
复制
public virtual bool AllowSocial { get; set; }
代码语言:txt
复制
public virtual bool AllowRefer { get; set; }
代码语言:txt
复制
public virtual bool AllowBookmark { get; set; }
代码语言:txt
复制
public virtual bool AllowSearch { get; set; }
代码语言:txt
复制
public virtual bool AllowAdminSearch { get; set; }
代码语言:txt
复制
public virtual bool AllowReview { get; set; }
代码语言:txt
复制
public virtual bool AllowOauth2 { get; set; }
代码语言:txt
复制
public virtual bool AllowSaml { get; set; }
代码语言:txt
复制
public virtual bool AllowLdap { get; set; }
代码语言:txt
复制
public virtual bool AllowIca { get; set; }
代码语言:txt
复制
public virtual bool AllowRdp { get; set; }
代码语言:txt
复制
public virtual bool AllowTcp { get; set; }
代码语言:txt
复制
public virtual bool AllowUdp { get; set; }
代码语言:txt
复制
public virtual bool AllowIcmp { get; set; }
代码语言:txt
复制
public virtual bool AllowSsh { get; set; }
代码语言:txt
复制
public virtual bool AllowTelnet { get; set; }
代码语言:txt
复制
public virtual bool AllowSmtpPort { get; set; }
代码语言:txt
复制
public virtual bool AllowPop3 { get; set; }
代码语言:txt
复制
public virtual bool AllowImap { get; set; }
代码语言:txt
复制
public virtual bool AllowWebDav { get; set; }
代码语言:txt
复制
public virtual bool AllowFtp { get; set; }
代码语言:txt
复制
public virtual bool AllowSshPort { get; set; }
代码语言:txt
复制
public virtual bool AllowTftp { get; set; }
代码语言:txt
复制
public virtual bool AllowTcpPort { get; set; }
代码语言:txt
复制
public virtual bool AllowUdpPort { get; set; }
代码语言:txt
复制
public virtual bool AllowIcmpPort { get; set; }
代码语言:txt
复制
public virtual bool AllowSmtpSecure { get; set; }
代码语言:txt
复制
public virtual bool AllowPop3Secure { get; set; }
代码语言:txt
复制
public virtual bool AllowImapSecure { get; set; }
代码语言:txt
复制
public virtual bool AllowWebDavSecure { get; set; }
代码语言:txt
复制
public virtual bool AllowFtpSecure { get; set; }
代码语言:txt
复制
public virtual bool AllowSshPortSecure { get; set; }
代码语言:txt
复制
public virtual bool AllowTftpSecure { get; set; }
代码语言:txt
复制
public virtual bool AllowTcpPortSecure { get; set; }
代码语言:txt
复制
public virtual bool AllowUdpPortSecure { get; set; }
代码语言:txt
复制
public virtual bool AllowIcmpPortSecure { get; set; }
代码语言:txt
复制
public virtual string DefaultOauth2ClientId { get; set; }
代码语言:txt
复制
public virtual string DefaultOauth2ClientSecret { get; set; }
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

NHibernate 多对多映射数据更新

NHibernate 多对多映射数据更新 最近在用 NHibernate 做多对多更新时突然发现 NHibernate 更新策略很差, 对多对多关系更新居然是先全部删除再插入全部数据, 感觉非常奇怪..., 再添加一个新角色, NHibernate 生成 SQL 语句如下(仅包含对关系表 User_Role 操作): DELETE FROM [User_Role] WHERE [UserId] =...Tip: Use set for many-to-many associations 发现了解决方案, 将多对多映射 bag 改为用 set , 问题终于得到了解决, 改过后映射如下: Set(...不只是多对多, 如果你集合需要更新, NHibernate 推荐是: 19.5.2....sess.Flush(); 由此可见, bag 在多对多映射更新时性能较差, 如果不需要更新,则可以放心使用, 在需要更新时则 set 是更好选择。

94110

如何使用Fluent NhibernateAutomapping进行OR Mapping映射

由于在项目中使用了NHibernate来作为ORMapping构建数据访问层,那么就必须要配置Object和DataTable映射。...,我们使用了Fluent NHibernateMapping方式代替XML配置。...使用Fluent NHibernate最大好处是降低了出错机会,因为Fluent Nhibernate配置是使用C#来编写,可以智能感知,而且还能编译,不像原始XML配置,写错了都不知道。...我们只需要定义好映射规则,就可以不对每个表和类分别编写映射配置,而是按照规则进行自动Mapping工作。这样在修改class或者DataTable时,只需要修改类和表即可,不需要再修改配置文件。...要做到Automapping,就一定要定义好严格命名规范,然后按照规范编写Automapping规则,实现自动化映射

1.1K10

NHibernate学习笔记之一,Hello world!

NHibernate是一个面向.NET环境对象/关系数据库映射框架,主要应用在数据持久层,和其它ORM框架一样用来把对象模型表示对象映射到基于SQL关系模型数据结构中去。...;mapping表示映射NHibernateDemo.WebUI命名空间下所有类型,包含持久化类以及对应映射文件所在应用程序集名称。...持久化类所有的public属性必须声明为virtual,否则映射不成功。...4、为POCO类编写写一个数据库映射文件,其实User.hbm.xml映射文件包含了对象/关系映射(ORM)所需元数据。元数据包含持久化类声明和属性到数据库映射。...,该文件必须输出到Bin目录中,否则会报错“xxx is not mapped”,如图3所示具体方法是:选择User.hbm.xml文件->属性->生成操作,设置这个属性值为“嵌入资源” 图3 5

59020

通过cycler实现属性自动映射

在matplotlib中,默认存在一个颜色 自动映射机制,当我们绘制多条直线时,会通过这个颜色映射机制来为每条直线赋予不同颜色,代码如下 >>> import matplotlib.pyplot as...其实是通过axes.prop_cycle这个属性,该属性用于设置一些基本属性映射,默认情况下,设置了颜色自动映射 >>> import matplotlib >>> matplotlib.rcParams...ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf']) 可以看到,默认映射属性为颜色...其实,该循环可以定义属性很多,颜色,线条宽度,线条样式等常用属性都可以进行定义,而且不同循环还可以进行叠加,代码如下 >>> from cycler import cycler >>> custom_cycler...通过cycler为相同元素添加属性自动映射,极大提高了绘图效率。

62450

盘点 .NET 比较流行开源ORM框架

开源地址:https://github.com/dotnet/ef6 六、NHibernate(国外) NHibernate 是一个成熟开源对象关系映射器,适用于 .NET 框架。...开源地址:https://github.com/nhibernate/nhibernate-core 七、ServiceStack/ServiceStack.OrmLite(国外) 简单 .NET 快速...(又名异步)(V6) 与严格未修饰 POCO 或归属几乎 POCO 一起使用。 易于配置,包括开箱即用流畅配置。...插入/删除/更新/保存和 IsNew 辅助方法 分页请求会自动计算出总记录数并获取特定页面。 简单交易支持。 更好参数替换支持,包括从对象属性中获取命名参数。...(V5) 用于记录异常、安装值转换器和将列映射到没有属性属性挂钩。

4K41

NHibernate详解

开发过程: 1.新建一个将要持久化.Net对象表 2.构建一个需要被持久化.Net类 3.构建一个可以让NHibernate知道如何持久化对象属性映射文件...第三步:写映射文件 现在我们有数据表和需要去映射.Net类。我们需要一种方式去让NHibernate知道如何从一个映射到另一个。这个任务依赖于映射文件来完成。...简要看一下,你将发现NHibernate所要做工作。name属性值正是我们.Net 类属性,column属性值将是我们数据库里字段。...type属性是可选(如果你不标明,NHibernate将利用反射进行最佳推测)。...好了,让我们回到标签id, 你可以猜测到这个标签将是映射数据库表主键,的确如此,id标签组成和我们刚才看property标签是相似的。我们映射属性到目标数据库字段。

64430

我们来继续研究 mybatis 框架sql映射文件属性

‍我们来继续研究 mybatis 框架sql映射文件属性 各位小伙伴 祝大家元旦快乐 开始我们今天分享 我们已经了解了 mybatis 框架两种使用方式以及主配置文件 (mybatis-config.xml...) 属性。...那么今天我们来一起了解sql 映射文件 (userMapper.xml) 属性。...3)resultMap 对象输出 这个是一个重点,假设我们数据库命名和我们 Java 属性命名是不一样,这样我们就是映射不上,这个时候就需要手动设置一个 resultMap 来解决这个问题。...其中: id 标签代表数据库表主键 column 代表列名或者 sql 中别名 property 代表 java 对象属性名 在测试类中测试一下。 还是复制出来看一下。

55880

我们来继续研究 mybatis 框架sql映射文件属性

各位小伙伴 祝大家元旦快乐 开始我们今天分享 我们已经了解了 mybatis 框架两种使用方式以及主配置文件 (mybatis-config.xml) 属性。...那么今天我们来一起了解sql 映射文件 (userMapper.xml) 属性。...然后在对应 UserMapper.xml 中,填写 sql 查询语句。 在测试类中测试一下。 2)对象输出 我们之前做都是对象输出,给大家简单测试一下。...3)resultMap 对象输出 这个是一个重点,假设我们数据库命名和我们 Java 属性命名是不一样,这样我们就是映射不上,这个时候就需要手动设置一个 resultMap 来解决这个问题。...其中: id 标签代表数据库表主键 column 代表列名或者 sql 中别名 property 代表 java 对象属性名 在测试类中测试一下。 还是复制出来看一下。

531100

NHibernate总结

NHibernate不仅仅管理.NET 类到数据库表映射(包括.NET 数据类型到SQL 数据类型映射),还提供数据查询和获取数据方法,大幅度减少我们开发时人工使用SQL和ADO.NET处理数据时间...封装Nhibernate底层操作,People.cs为实体类,People.hbm.xml为映射文件(把数据库表People映射到实体类People)。...我们可以在该文件上点击右键选择属性进行修改。 (2)     NHibernateHelper.cs数据操作辅助类 我们现在可以开始NHibernate了。...这正是NHibernate映射文件发挥作用地方。映射文件包含了对象/关系映射所需元数据。元数据包含持久化类声明和属性到数据库映射。...“内容”,这里需要修改为“嵌入资源”生成,因为NHibernate是通过查找程序集中资源文件映射实体。

91340

Nhibernate_nhibernate与ef区别

创建映射文件,以告诉NH怎样持久化这些类属性. 4. 创建NH配置文件,以告诉NH怎样连接数据库. 5. 使用NH提供API....步骤2:创建.Net类: 当我们这样一堆用户时候,我们需要某种对象来保存.NH是通过reflection对象属性来工作,所以我们给需要持久化对象添加属性.一个对应于上面数据库结构类可以写成这个样子...步骤3:编写映射文件(Mapping File) 现在我们有了数据库表和.Net类,我们还需要告诉NH怎样在数据库和类之间映射.这就需要映射文件了.最简捷(也是可维护性最好)方法就是为每一个类编写一个映射文件...name"属性值就是我们写.Net类中属性,column属性值就是在数据库中与'Net类属性对应字段名.type属性是可选(如果你没有标明,NH会给出一个最适合),但是推荐做法是带上这个属性...让我们返回到"id" tag,你可能会猜想这个tag和映射到表Primary Key有关.正确.ID tag格式和Property tag相似.我们从Property(name)映射到目标数据库字段

57930

反射+自定义注解---实现Excel数据列属性和JavaBean属性自动映射

需求:通过自定义注解和反射技术,将Excel文件中数据自动映射到pojo类中,最终返回一个List集合?   ...int k = 0; k < row.getPhysicalNumberOfCells(); k++) { 165 166 // 获取sheet类属性对应表中...第一个主要是标注和Excel文件中那张sheet表,第二个主要是将Excel文件中列名和pojo类对应属性绑定,具体用法瞅瞅我下面贴代码就OK。...String value() default ""; 12 boolean IsRequired() default false; 13 } 具体是如何使用自定义注解将pojo类和Excel文件中数据完成自动映射...我调用工具类中方法进行数据自动映射,数据10000条,最终导入到数据库中全程使用了7分钟,各位是不是觉得时间还是有点长,但是这个过程我是即把这10000多条数据封装进来了而且还成功插入到数据库中去了

2.4K90

Fluent NHibernate之旅二--Entity Mapping

本节内容: 简单实体映射 使用自定义类型映射实体属性 NHibernate实体映射(Entity Mapping)做非常好,虽然不是完美,但一些我们经常使用,基本上已经都支持了,而且配置也相对比较简单...回答是当然需要,因为我们这里属性名与表中主键名是相同,所以没有进行设置,如果你数据库主键名是ID,这里我们只需要Id(m => m.ProductID).ColumnName(“ID”),你可以看到上述映射...映射做好了,接下来我们在NHibernate中把映射加到配置中。...hbm.xml文件,自己再看一篇,看看NHibernate映射方式,所以是非常好一个方法,我有时候做映射时候,遇到问题都会生成出来,随时查看问题所在,所以说是非常有用一个方法,而且你可以把你映射文件直接用到...二、使用自定义类型映射实体属性 NHibernate支持我们用自定义类型来映射属性,但因为我是初学,我真的不会,当然我在网上找到了相关资料,在此也不多说,就说说Fluent方式吧,在我映射自定义属性时候

1K90
领券