在我的SQL表中,我有两个属性,StartDateTime和EndDateTime,在我的代码中,我有Linq2Sql ORM表,它映射了相应的StartDateTime和EndDateTime。我决定添加一个持续时间:
public TimeSpan Duration
{
get
{
TimeSpan ts =(TimeSpan) (EndDateTime - StartDateTime);
return ts;
}
}
这样可行,但是当我通过设计器修改我的dbml文件时,当文件被重写时,添加当然会消失。 我的问题是添加持续时间属性的最佳做法是什么,我真的不想将它添加到源SQL表中,因为它似乎是多余的。
更新: 由于创建的ORM表被定义为“公共部分类”,因此我创建了一个额外的代码文件来保存我的类添加,例如在添加属性“Duration”的情况下。
答案 0 :(得分:0)
实体类是一个部分类。 因此,您可以将您的财产放在一个单独的文件中,其中包含:
var settings = new JsonSerializerSettings()
{
ContractResolver = new OrderedContractResolver()
};
var json = JsonConvert.SerializeObject(obj, Formatting.Indented, settings);
答案 1 :(得分:0)
不要修改自动生成的文件,使用类的部分定义将新文件添加到项目中
sudo fail2ban-client -vvv 'set' 'jail' 'banip' 'ip'
答案 2 :(得分:0)
您可以使用以下方式执行此操作:
TimeSpan duration = _MyEndDataTime.Subtract(_MyStartDateTime);
但是请记住,TimeSpan只能保持时间到11:59:59(hh:mm:ss)所以如果StartDateTime和EndDateTime超过24小时你将被卡住,所以我建议使用DataTime来获取持续时间而不是TimeSpan。