C# 脚手架还是其他框架?
我有点困惑。我在一个使用LINQtoSQL的项目中看到了一些代码C# 脚手架还是其他框架?,c#,asp.net,.net,vb.net,C#,Asp.net,.net,Vb.net,我有点困惑。我在一个使用LINQtoSQL的项目中看到了一些代码 <MetadataType(GetType(Customer.CustomerMeta))> Partial Public Class Customer Friend Class CustomerMeta <Required(), StringLength(50)> Public Name As String <Required(), StringLength(50)> Pub
<MetadataType(GetType(Customer.CustomerMeta))> Partial Public Class Customer
Friend Class CustomerMeta
<Required(), StringLength(50)> Public Name As String
<Required(), StringLength(50)> Public Address As String
<Required(), StringLength(20)> Public EmailAddress As String
<StringLength(20)> Public Country As String
End Class
部分公共类客户
朋友级客户
公共名称作为字符串
作为字符串的公共广播
作为字符串的公共电子邮件地址
作为字符串的公共国家
末级
我不知道为什么会这样创建,但它看起来和我以前使用的方法不同
在仔细阅读之后,它似乎是一种技术,可能是脚手架(),但在本演练进行到一半时,我意识到许多区域不存在(如global.asax文件)或不适用于我在中看到的上述代码的项目,因此我可能在这里走错了方向
有人知道上面使用的是什么技术/框架吗?如果有我可以参考的文章,我会尽快更新吗?如果这里需要书籍或培训课程,那么我很高兴有人能为我指出正确的方向
感谢这些是数据验证注释(我不知道在您的案例中使用它们的确切“框架”,因为它们在.NET framework中公开,任何针对它编程的人都可以使用它们):基本上,您可以用这些属性装饰成员(),然后可以使用这些元数据进行一些验证,由某些数据架构规则检查器手动或自动执行 在这种情况下,属性
Name
为:-
- 必填字段(即字段中必须有内容,且不能为空)
- 长度必须为50个字符
后一个约束可能使前一个变得多余,这取决于分析规则的内容。Linq To SQL使用代码生成工具。我认为它是T4。指定了字符串的最大长度,而不是最小长度,使得
必需不冗余。这与分析规则的人员无关。@DanielHilgarth:“指定数据字段中允许的字符的最小和最大长度。”即使如此,它也取决于规则检查器。在使用带有一个参数的构造函数时不是这样的:。它只指定了最大长度。我的意思实际上是“当不设置MinimumLength
属性时”。OP的代码不会使Required
属性冗余。你的这句话是不正确的,特别是在给定的上下文(LINQ到SQL)中。我不知道你为什么这么说。MinimumLength
的默认值为0。那么,任何理智的规则引擎如何将其解释为不小于MaximumLength
?这毫无意义。MinimumLength=0表示它可以为空。每一个不同的规则引擎都是假的。