gpt4 book ai didi

c# - Nhibernate 拦截器 - 获取属性长度 OnSave

转载 作者:行者123 更新时间:2023-11-30 16:46:21 24 4
gpt4 key购买 nike

我有简单的 NHibernate 拦截器和覆盖方法 OnSave()。

现在我在这里要做的是获取字符串属性的 SQL 长度。那可能吗。

我可以看到属性 IType[] types 包含 SqlType,其中 Length 可用,但就是找不到如何读取它。调试示例:

enter image description here

这是我所拥有的代码示例,我试图在其中获取属性的 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 转换为预期的类型:

//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;
}

关于c# - Nhibernate 拦截器 - 获取属性长度 OnSave,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40491916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com