小编Hos*_*sam的帖子

如何将Json.Net设置为WCF REST服务的默认序列化程序

在Serialize/DeSerialize实体并使用JSON.NET时,是否可以覆盖默认的WCF DataContractSerializer行为?

我有以下服务合同来处理City实体.出于设计原因,City实体具有IsReference = true,因此默认的DataContractSerializer会引发错误.

对于"GET"方法,我可以使用JsonConvert.DeserializeObject处理这种情况,但是使用"PUT,POST,DELETE"方法DataContractSerializer优先,并且失败抱怨IsReference实体无法序列化.

我发现这个Post实现IOperationBehavior并提供我自己的Serializer但我不知道如何将Json.NET与此集成.而且我认为应该有更直接的方法.

我很感激有关此方案的任何帮助或指导,或对其他方法的建议.

[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class CityService
{
    [Description("Get all Cities")]  
    [WebGet(UriTemplate = "")]
    public Message Cities()
    {

    }

    [Description("Allows the details of a single City to be updated.")]
    [WebInvoke(UriTemplate = "{code}", Method = "PUT")]
    public Message UpdateCity(string code, City city)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

非常感谢

霍山

rest wcf json .net-4.0 json.net

22
推荐指数
1
解决办法
2万
查看次数

如何从PowerShell脚本触发T4模板

在我的VS2010解决方案,我已经根据T4Scaffolding的NuGet设置PowerShell脚本和T4模板的,一切工作脚手架罚款及相关T4的,但在我的剧本之一,我需要触发位于另一个项目T4模板.

这个有什么简单的Powershel cmdlet吗?只运行模板而不传递任何参数或值.

谢谢.

powershell t4 code-generation visual-studio-2010

8
推荐指数
1
解决办法
2780
查看次数

如何停止EF4.1 Code-First为实体PK创建Culstered索引

使用以下简单实体类,EF4.1 Code-First将UserId在初始化数据库时为PK 列创建聚簇索引.

    public class User
    {
        [Key]
        public int UserId { get; set; }
        public int AppId  { get; set; }
        public string UserName { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

出于性能的考虑,我的设计目标是保持生成的Users表物理集群根据AppIdcoulmn而不是PK.

在我的Initializer类中,我试图手动删除自动生成的PK聚簇索引并创建我需要的任何聚簇索引,但这里没有线索来预测PK__Users__25518C17索引的自动生成名称!

我是Code-First世界的新手,并且真的不知道我的设计目标是否有任何解决方法.

提前致谢

sql-server entity-framework code-first ef-code-first entity-framework-4.1

4
推荐指数
1
解决办法
3075
查看次数