gpt4 book ai didi

c# - 验证可保存对象的属性长度最方便的地方在哪里?

转载 作者:搜寻专家 更新时间:2023-10-30 20:31:10 25 4
gpt4 key购买 nike

我想知道验证持久对象的属性长度最方便的地方在哪里。

比方说,在我的数据库中有一个名为 Country 的表,CountryCode nvarvhar(3)。

我有一个映射对象 Country,它具有 CountryCode 属性,可以保存到 Db 中。

如果用户设置的国家代码不超过3个字符,应该在哪里查看:

  • 在属性 CountryCode 的 setter 中
  • 或者在保存到数据库的时候

能请教一下吗?

谢谢

最佳答案

我发现最简单的方法是允许将属性设置为任何值(无论如何都是正确的数据类型),然后在保存之前对其进行验证。

我喜欢使用 .Net 中内置的验证属性。这使逻辑与属性相关联。有一个 StringLengthAttribute类应该可以满足您的要求。

属性位于 System.ComponentModel.DataAnnotations 命名空间中(您需要引用同名程序集)。

MVC 和 EntityFramework 有一种内置的方式来验证数据。如果您需要自己执行逻辑,这里有一些代码可能会帮助您入门...

var ctx = new ValidationContext(obj, null, null);
Validator.ValidateObject(obj, ctx);

关于c# - 验证可保存对象的属性长度最方便的地方在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6722367/

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