Nhibernate拦截器 – 获取属性长度OnSave
我有简单的NHibernate拦截器和覆盖方法OnSave()。
现在我要做的是获取字符串属性的SQL长度。 那可能吗。
我可以看到属性IType[]
类型包含SqlType
,其中Length
可用,但是找不到如何读取它。 调试示例:
这是我所拥有的代码的示例,以及我在哪里尝试获取Sql属性的长度。
public override bool OnSave(object entity, object id, object[] state, string[] propertyNames, IType[] types) { for (int i = 0; i < propertyNames.Length; i++) { //If type is string if (types[i].GetType() == typeof(NHibernate.Type.StringType)) { //Get SQL length of string property } } return false; }
任何帮助我怎么能得到这个?
让我们尝试将IType
转换为预期的IType
:
//If type is string var stringType = types[i] as NHibernate.Type.StringType; //if (types[i].GetType() == typeof(NHibernate.Type.StringType)) if(stringType != null) { //Get SQL length of string property var length = stringType.SqlType.Length; }
- 获取淘汰模型中的MVC人员模型书列表(可观察数组)
- 使用MVC5,Ajax,C#和MSSQL Server级联DropdownList
- 具有过滤的dbContext的多租户Web应用程序
- c#JSON序列化使用值而不是属性名称
- entity framework6重用数据注释
- ASP.NET MVC重新编译限制达到了15个HostingEnvironment,启动了关闭HostingEnvironment导致关机
- 将IDictionary 转换为类
- 从自定义AdditionalMetadataAttribute访问模型类实例(asp.net mvc 5)
- 使用angular post将两个参数传递给WEB API调用