Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使EF生成的实体上的所有属性都是虚拟的?_C#_Entity Framework_T4 - Fatal编程技术网

C# 如何使EF生成的实体上的所有属性都是虚拟的?

C# 如何使EF生成的实体上的所有属性都是虚拟的?,c#,entity-framework,t4,C#,Entity Framework,T4,通常在EF 6上,生成实体时,会将属性放在样式“公共类型列”中。是否有办法增加此属性中的虚拟值,如“公共虚拟类型列” 实际上,我正在使用EF模型设计来生成实体,这个模型有一个扩展名为.tt的文件,看起来像是生成实体类的代码,但非常混乱。我在T4模板中找到了在.cs文件中创建属性的方法(.tt文件在EF模型设计中) 我刚刚添加了一个字符串格式的“virtual”。是希望生成的所有属性都是虚拟的,还是希望其中一些属性是虚拟的?如果您想要所有这些,您可以修改T4模板(该TT文件)来实现。和。您可能还想

通常在EF 6上,生成实体时,会将属性放在样式“公共类型列”中。是否有办法增加此属性中的虚拟值,如“公共虚拟类型列”


实际上,我正在使用EF模型设计来生成实体,这个模型有一个扩展名为.tt的文件,看起来像是生成实体类的代码,但非常混乱。

我在T4模板中找到了在.cs文件中创建属性的方法(.tt文件在EF模型设计中)


我刚刚添加了一个字符串格式的“virtual”。

是希望生成的所有属性都是虚拟的,还是希望其中一些属性是虚拟的?如果您想要所有这些,您可以修改T4模板(该TT文件)来实现。和。您可能还想看看反向Poco工具(),请澄清“增加虚拟”的含义——我认为这不是一个公认的术语。@Flydog57我希望生成的所有属性都是虚拟的。我不是T4专家,所以我无能为力。你可能想在你的问题上加上
t4
,让合适的人帮助你。不过,我很好奇,为什么要将所有属性都设置为虚拟属性?@Flydog57我正在使用entities类进行继承,有时我必须重写这些属性。我想我找到了在cs文件中生成属性的string.Format。我可能会回答我的问题。顺便说一句,你要找的词是“增加”而不是“增加”。
public string Property(EdmProperty edmProperty)
{
    return string.Format(
        CultureInfo.InvariantCulture,
        "{0} virtual {1} {2} {{ {3}get; {4}set; }}",
        Accessibility.ForProperty(edmProperty),
        _typeMapper.GetTypeName(edmProperty.TypeUsage),
        _code.Escape(edmProperty),
        _code.SpaceAfter(Accessibility.ForGetter(edmProperty)),
        _code.SpaceAfter(Accessibility.ForSetter(edmProperty)));
}