0

我正在使用 T4 为 ASP.NET Web API 项目生成 C# 代码...我需要一种简单的方法将EdmType转换为JsonSchemaType

谢谢!

4

1 回答 1

0

由于时间飞逝,我最终写了一个开关,直到找到更好的解决方案......

public static class TypeMapper
{
    public static JsonSchemaType Convert(EdmType edmType)
    {
        switch (edmType.BuiltInTypeKind )
        {
            case BuiltInTypeKind.EnumType:
                return JsonSchemaType.String;

            case BuiltInTypeKind.ComplexType:
                return JsonSchemaType.Object;

            case BuiltInTypeKind.PrimitiveType:
                return GetPrimitiveType(edmType);

            default:
                return JsonSchemaType.Null;
        }
    }


    private static JsonSchemaType GetPrimitiveType(EdmType edmType)
    {
        switch (edmType.Name)
        {
            case "String":
            case "Guid":
            case "DateTime":
                return JsonSchemaType.String;

            case "Int32":
                return JsonSchemaType.Integer;

            case "Single":
            case "Double":
                return JsonSchemaType.Float;

            default:
                return JsonSchemaType.Null;
        }
    }
}
于 2013-05-17T19:08:48.340 回答