使用t4 Scaffolding在mvc4中获取模型(TableName)的元数据

时间:2013-05-08 10:58:57

标签: asp.net-mvc-3 asp.net-mvc-4 t4 asp.net-mvc-3-areas asp.net-mvc-scaffolding

使用MVC4和T4模板(脚手架) 我在mvc4中创建一个模型,并在DBContext中指定表名。 1)我需要从模型名称获取Dbcontext的表。 2)需要从注释表中获取值。

[Table(name: "Pay_Emp_Qualifications", Schema = "Sample")]
public class EmpQualification
{
    [Key]
    public int EMP_QUALI_ID { get; set; }
    public String Qualification { get; set; }
}

目前我们正在对模型加载dll并使用我们得到的反射。我们正试图避免这个dll

var  objFile= Assembly.LoadFile(@"bin\wbtest.dll");

var objMaster = AppDomain.CurrentDomain.Load(new AssemblyName(Convert.ToString(objFile)))。CreateInstance(namespaceInstance);

 var attributeData = objMaster.GetType().GetCustomAttributesData().Select(p =>           p.ConstructorArguments).ToArray();
           var tableNameVariable= attributeData[0][0].Value.ToString();

如何在不使用dll的情况下在t4模板中获取模型名称的表名,我们使用ModelProperty类。 请建议。

1 个答案:

答案 0 :(得分:0)

虽然这不能完全回答您的问题,但它为您提供了另一种加载程序集的方法,使其不会锁定它。 T4 and MSBuild integration issues