मैं व्यवसायिक के साथ समस्या है +1 मिलता है, मैं इसे ठीक करने का पता नहीं है:TimeSpan टिक्स के बाद
मैं एक पोको इस तरह है:
public class Test
{
public long Id { get; set; }
public TimeSpan? Time { get; set; }
}
क्षेत्र समय एक है MySQL 'TIME'। यदि मैं उदाहरण के लिए 1000 टिक के साथ एक समय फ़ील्ड के साथ डैपर के साथ एक पंक्ति लोड करता हूं, और मैं इस पॉको को कुछ भी बदले बिना सहेजता हूं, फिर उसी पंक्ति को फिर से लोड करता हूं, टाइम फ़ील्ड अब 1001 टिक पर है।
मैं क्या गलत कर रहा हूं?
संपादित करें:
मैं अपने पंक्ति कैसे लोड:
var testobj = Db.Query<Test>("select * from Test where Id = @id", new {id = Id});
मैं इसे कैसे को बचाने:
Db.Execute("replace into Test values (@Id,@Time)", testObj);
संपादित करें 2:
एक समयावधि वस्तु से पहले बचाने:
{15:22:24}
Days: 0
Hours: 15
Milliseconds: 0
Minutes: 22
Seconds: 24
Ticks: 553440000000
TotalDays: 0.64055555555555554
TotalHours: 15.373333333333333
TotalMilliseconds: 55344000.0
TotalMinutes: 922.4
TotalSeconds: 55344.0
और बाद बचाने:
{15:22:25}
Days: 0
Hours: 15
Milliseconds: 0
Minutes: 22
Seconds: 25
Ticks: 553450000000
TotalDays: 0.64056712962962958
TotalHours: 15.37361111111111
TotalMilliseconds: 55345000.0
TotalMinutes: 922.41666666666674
TotalSeconds: 55345.0
आप देखते हैं कि Ticks 553,440,000,000 और बन सकता है 553450000000
संपादित करें 3:
मैं इस तरह मेरे टेस्ट वर्ग के साथ हंस टिप का उपयोग करें:
public class Test
{
public long Id { get; set; }
private TimeSpan? _time;
public TimeSpan? Time
{
get
{
if (_time.HasValue)
return TimeSpan.FromTicks((long)Math.Floor(_time.Value.Ticks/100000000d) * 100000000);
return _time;
}
set { _time = value; }
}
}
और यह काम करता है, लेकिन यह अभी भी अजीब
आप समय कैसे लोड करते हैं? –
@ FᴀʀʜᴀɴAɴᴀᴍ मैंने अपना प्रश्न – Baptiste
क्षमा किया है, मुझे खेद नहीं है, पंक्ति आईडी = 1 और समय = 1000 टिकों से भरी हुई है, मैं इस पंक्ति को सहेजता हूं, इसे फिर से लोड करता हूं, और अब समय = 1001 टिक – Baptiste