开发者

How to add wcf attributes in poco template that is applicable in Complex Type?

开发者 https://www.devze.com 2023-03-31 13:26 出处:网络
I use the instructions from Adding [DataMember] [DataContract] attributes in Entity Framework POCO Template

I use the instructions from Adding [DataMember] [DataContract] attributes in Entity Framework POCO Template

At first it worked, all of my complex types are generated with wcf attributed [DataContract] [DataMember]. And then when I regenerate, I don't know why all of my Complex Types have no [DataContract] [DataMember]. Only the entities have [DataContract][DataMember]

[DataContract]
<#=Accessibility.ForType(entity)#> <#=code.SpaceAfter(code.AbstractOption(entity))#>partial class <#=code.Escape(entity)#><#=code.StringBefore(" : ", code.Escape(entity.BaseType))#>
{
<#
  开发者_开发问答  region.Begin("Primitive Properties");

    foreach (EdmProperty edmProperty in entity.Properties.Where(p => p.TypeUsage.EdmType is PrimitiveType && p.DeclaringType == entity))
    {
        bool isForeignKey = entity.NavigationProperties.Any(np=>np.GetDependentProperties().Contains(edmProperty));
        bool isDefaultValueDefinedInModel = (edmProperty.DefaultValue != null);
        bool generateAutomaticProperty = false;



#>

    [DataMember]
    <#=PropertyVirtualModifier(Accessibility.ForProperty(edmProperty))#> <#=code.Escape(edmProperty.TypeUsage)#> <#=code.Escape(edmProperty)#>
    {









//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated from a template.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.Runtime.Serialization;
<#=String.Join(String.Empty, extraUsings.Select(u => "using " + u + ";" + Environment.NewLine).ToArray())#>
<#+
    fileManager.EndBlock();
}


Have you tried with the following extension?
It is for EF5 and VS 2012, but there is also an equivalent for EF 4.x.

How to add wcf attributes in poco template that is applicable in Complex Type?

It allows to generate POCOs already decorated with WCF attributes without having to customize the template.

0

精彩评论

暂无评论...
验证码 换一张
取 消