पर जारी नहीं रहेगा। मैं एएसपी.नेट एमवीसी प्रोजेक्ट पर बैकएंड के रूप में एनएचबीनेटनेट के साथ काम कर रहा हूं और मुझे कुछ SQL सर्वर डेटाबेस टेबल पर लिखने में कुछ परेशानी हो रही है।NHBernate DateTime SqlDateTime ओवरफ़्लो
ये दिनांक फ़ील्ड शून्य नहीं हैं, इसलिए यहां कई उत्तरों को नामुमकिन डेटाटाइम सेट करने के तरीके के बारे में मदद नहीं मिली है।
असल में जब मैं उस इकाई को सहेजने का प्रयास करता हूं जिसमें दिनांक जोड़ा गया है और अंतिम अद्यतन फ़ील्ड है, तो मुझे एक SqlDateTime ओवरफ़्लो अपवाद मिल रहा है। मुझे अतीत में एक ही समस्या है जहां मैं एक स्टेल्डडटाइम कॉलम में डेटाटाइम फ़ील्ड लिखने की कोशिश कर रहा था, समस्या को ठीक करने के लिए कॉलम पर टाइप को अपडेट करना था। मेरी आंत महसूस यह है कि यह टेबल परिभाषा या कुछ प्रकार के असंगत डेटा प्रकारों के साथ कुछ समस्या होने जा रहा है, और अतिप्रवाह अपवाद एक बम स्टीयर का थोड़ा सा है।
मैंने टेबल परिभाषा का एक उदाहरण संलग्न किया है और एनएचबर्ननेट चलाने की कोशिश कर रहा है, किसी भी मदद या सुझावों की सराहना की जाएगी।
CREATE TABLE [dbo].[CustomPages](
[ID] [uniqueidentifier] NOT NULL,
[StoreID] [uniqueidentifier] NOT NULL,
[DateAdded] [datetime] NOT NULL,
[AddedByID] [uniqueidentifier] NOT NULL,
[LastUpdated] [datetime] NOT NULL,
[LastUpdatedByID] [uniqueidentifier] NOT NULL,
[Title] [nvarchar](150) NOT NULL,
[Term] [nvarchar](150) NOT NULL,
[Content] [ntext] NULL
)
exec sp_executesql N'INSERT INTO CustomPages (Title, Term, Content, LastUpdated, DateAdded, StoreID, LastUpdatedById, AddedById, ID) VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8)',N'@p0
nvarchar(21),@p1 nvarchar(21),@p2 nvarchar(33),@p3 datetime,@p4 datetime,@p5 uniqueidentifier,@p6 uniqueidentifier,@p7 uniqueidentifier,@p8 uniqueidentifier',@p0=N'Size and Colour
Chart',@p1=N'size-and-colour-chart',@p2=N'This is the size and colour chart',@p3=''2009-03-14 14:29:37:000'',@p4=''2009-03-14
14:29:37:000'',@p5='48315F9F-0E00-4654-A2C0-62FB466E529D',@p6='1480221A-605A-4D72-B0E5-E1FE72C5D43C',@p7='1480221A-605A-4D72-B0E5-E1FE72C5D43C',@p8='1E421F9E-9A00-49CF-9180-DCD22FCE7F55'
जवाब में उत्तर/टिप्पणियों, मैं धाराप्रवाह NHibernate का उपयोग कर रहा था और इसके फलस्वरूप मानचित्रण
public CustomPageMap() {
WithTable("CustomPages");
Id(x => x.ID, "ID")
.WithUnsavedValue(Guid.Empty)
. GeneratedBy.Guid();
References(x => x.Store, "StoreID");
Map(x => x.DateAdded, "DateAdded");
References(x => x.AddedBy, "AddedById");
Map(x => x.LastUpdated, "LastUpdated");
References(x => x.LastUpdatedBy, "LastUpdatedById");
Map(x => x.Title, "Title");
Map(x => x.Term, "Term");
Map(x => x.Content, "Content");
}
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default-lazy="false" assembly="MyNamespace.Core" namespace="MyNamespace.Core">
<class name="CustomPage" table="CustomPages" xmlns="urn:nhibernate-mapping-2.2">
<id name="ID" column="ID" type="Guid" unsaved-value="00000000-0000-0000-0000-000000000000"><generator class="guid" /></id>
<property name="Title" column="Title" length="100" type="String"><column name="Title" /></property>
<property name="Term" column="Term" length="100" type="String"><column name="Term" /></property>
<property name="Content" column="Content" length="100" type="String"><column name="Content" /></property>
<property name="LastUpdated" column="LastUpdated" type="DateTime"><column name="LastUpdated" /></property>
<property name="DateAdded" column="DateAdded" type="DateTime"><column name="DateAdded" /></property>
<many-to-one name="Store" column="StoreID" /><many-to-one name="LastUpdatedBy" column="LastUpdatedById" />
<many-to-one name="AddedBy" column="AddedById" /></class></hibernate-mapping>
आपकी तालिका और एसक्यूएल ठीक लगता है। क्या आप SQL क्वेरी काम करते हैं यदि आप इसे हाथ से चलाने का प्रयास करते हैं? कोड और हाइबरनेट मैपिंग फ़ाइल को पोस्ट करने के लायक हो सकता है –
हां क्वेरी क्वेरी क्वेरी विश्लेषक में ठीक है, सिवाय इसके कि मुझे डेटाटाइम के आसपास डबल सिंगल कोट्स (यूटीसी स्टाइल स्ट्रिंग्स) को सिंगल कोट्स में बदलना है, यह क्वेरी है nhibernate –