从LINQ生成的类成员获取size属性的任何方法?

时间:2009-01-25 23:31:59

标签: asp.net-mvc linq

我想避免为所有表单输入手动指定maxlength属性 元素,而是尽可能使用数据模型中的大小信息:

e.g。

<%= Html.TextBox("Titel", ViewData.Model.Titel, (object)new { @maxlength = "10" })%>   

是否可以“翻译”LINQ类中的DbType属性?

[Column(Storage="_Titel", DbType="NVarChar(10)")]
public string Titel

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

让我告诉你这个行动方案,希望你可以找到其余部分。我已将数据选择封装到LINQ语句中,希望您可以将其交换出来,但是您需要数据:

var q = from myDatabaseRow in dbContext.TableName
                    select new
                    {
                        myDatabaseRow.FieldName,
                      (ColumnAttribute)TypeDescriptor.GetProperties(myDatabaseRow.GetType())["FieldName"].Attributes[typeof(ColumnAttribute)]

                    };

这样做是从表中选择一个属性,然后选择一个新的匿名类型。匿名类型中的第二个属性是您在数据模型字段中看到的ColumnAttribute。然后,您可以使用.DbType属性来查找最大长度。希望这有帮助!