我尝试使用LINQ to SQL.Everythign工作得很好但似乎它对不可变对象不友好.
LINQ to SQL要求我为不可变类创建一个无参数构造函数.但是我希望它是不可变的,所以我想只允许人们每次都使用所有必需的参数创建它.
同样,我需要在我的所有成员上安装.
有没有办法让我仍然可以使用LINQ 2 SQL而不放弃我的不变性?
这是我的代码:
DataContext db = new DataContext("myconnectistring");
Table<MyImmutableType> myImmutableObjects = db.GetTable<MyImmutableType>();
Run Code Online (Sandbox Code Playgroud)
它会抛出没有setter的异常,也没有没有参数的默认构造函数.
我想编写一个基于REST的HTTP API,可以从.NET和任何其他语言(例如Python)访问.
我应该使用WCF吗?或者这会使其他语言更难与我的API互动?
我希望服务器根本不带任何状态,我希望能够利用HTTP持久连接,因为典型的clinet会连续多次调用HTTP.(可能连续2小时通话)
我被允许使用.NET 4.