<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>.NET Framework</title><link>https://www.dotnetzone.gr:443/cs/forums/14/ShowForum.aspx</link><description>Θέματα για threading, remoting, reflection, exception handling, security, regex κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Re: nHibernate resources</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1139.aspx</link><pubDate>Tue, 08 Feb 2005 19:00:13 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1139</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1139.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1139</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/forums/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;gcapnias wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td width="100%" valign="top" class="txt4"&gt;&lt;br /&gt;Ισως γιατί έχω δει και έχω φτιάξει παρόμοιους μηχανισμούς και δεν με ενθουσιάζει ποια η ιδέα του O/R; Γιατί πλέον μόνο όταν θα μπορεί να παράγει και interface και Web Forms και Windows Forms, με κοινό το backend κώδικα θα με συγκινήσει να σω κάτι καινούργιο;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;br /&gt;Γιώργο δεν μπορώ να πω οτι έχεις άδικο. Μιλώντας όμως αυστηρά για persistence frameworks και όχι για generators, πιστεύω οτι ο σκοπός ενός τέτοιου framework είναι να σου παρέχει το συγκεκριμένο layer, και όχι όλη την εφαρμογή. Εξάλλου για ολόκληρη την εφαρμογή υπάρχει (αν και δεν το έχω δοκιμάσει) το &lt;a target="_blank" title="http://www.codecharge.com" href="http://www.codecharge.com"&gt;CodeCharge &lt;/a&gt;μεταξύ άλλων. &lt;br /&gt;&lt;br /&gt;Προσωπικά θα ήθελα να δώ ένα meta-framework το οποίο να συνδυάζει διαφορετικά μεταξύ τους frameworks για την παραγωγή εφαρμογών. Π.χ. ένα &lt;a target="_blank" title="http://www.mygenerationsoftware.com" href="http://www.mygenerationsoftware.com"&gt;MyGeneration &lt;/a&gt;που να χρησιμοποιεί &lt;a target="_blank" title="http://nhibernate.sourceforge.net" href="http://nhibernate.sourceforge.net"&gt;nHibernate &lt;/a&gt;(ΟΧΙ μονο τα &lt;a target="_blank" title="http://www.mygenerationsoftware.com/TemplateLibrary/Archive/?guid=592883c4-d3c3-4393-a85a-788509160f6b" href="http://www.mygenerationsoftware.com/TemplateLibrary/Archive/?guid=592883c4-d3c3-4393-a85a-788509160f6b"&gt;templates &lt;/a&gt;που χρησιμοποιεί αυτή τη στιγμή για να φτιάχνει τα .hbm αρχεία) ή &lt;a target="_blank" title="http://www.microsoft.com/downloads/details.aspx?FamilyID=F63D1F0A-9877-4A7B-88EC-0426B48DF275&amp;amp;displaylang=en" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=F63D1F0A-9877-4A7B-88EC-0426B48DF275&amp;amp;displaylang=en"&gt;MSDAAB &lt;/a&gt;και όχι το δικό του &lt;a target="_blank" title="http://www.mygenerationsoftware.com/dOOdads/dOOdads.aspx" href="http://www.mygenerationsoftware.com/dOOdads/dOOdads.aspx"&gt;persistence&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;</description></item><item><title>Re: nHibernate resources</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1113.aspx</link><pubDate>Sat, 05 Feb 2005 05:15:08 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1113</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1113.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1113</wfw:commentRss><description>Σοβαρά τώρα από το ψάξε, ψάξε και το διάβαζε, διάβαζε, δεν μπορώ να μοιραστώ μαζί σας, τον ενθουσιασμό σας.&lt;br /&gt;&lt;br /&gt;Ισως γιατί έχω δει και έχω φτιάξει παρόμοιους μηχανισμούς και δεν με ενθουσιάζει ποια η ιδέα του O/R; Γιατί πλέον μόνο όταν θα μπορεί να παράγει και interface και Web Forms και Windows Forms, με κοινό το backend κώδικα θα με συγκινήσει να σω κάτι καινούργιο;&lt;br /&gt;&lt;br /&gt;Πραγματικά αυτό που είπε ο Μάνος ότι το disconnected μοντέλο είναι αυτό που προβληματίζει τους νέους στο .NET, είναι αλήθεια. Είχαμε&amp;nbsp;το χρόνο&amp;nbsp;με το Μάνο να τα πούμε για το ADO.NET κατά την διάρκεια ενός σεμιναρίου. Δεν υπάρχει σχετική εμπειρία επάνω στην χρήση των Dataset και του ADO.NET γενικότερα. Αν δεν σταθεροποιηθεί η τεχνολογία, παρόμοια όπως έγινε με την DNA αρχιτεκτονική για κάμποσα χρόνια, δεν θα αλλάξει η κατάσταση.&lt;br /&gt;&lt;br /&gt;Πιστεύω ότι η λάθος προσέγγιση στην λύση του data layer είναι καθαρά σε αυτούς που την σκέφτονται. Αν προσπαθήσεις να στήσεις μια λύση πάνω σε Dataset σε OLTP βάση με όγκο δεδομένων και να έχεις ταχύτητα, έχεις χάσει.&lt;br /&gt;&lt;br /&gt;Αν από την άλλη μεριά, μιλάμε για ένα SmartPhone ή ένα Pocket PC δεν υπάρχει καλύτερο πράγμα από το dataset.&lt;br /&gt;&lt;br /&gt;Σε Web Applications, η χρήση οτιδήποτε άλλου από xml files με data, χωρίς να cacheάρονται, επιφέρουν μείωση της ταχύτητας. (&lt;em&gt;Μην αρχίσω πάλι να παραμιλάω για ... προγραμματιστές που αφήνουν 20Κb state data πάνω σε .aspx σελίδα!&lt;/em&gt; &lt;img src="/forums//emoticons/emotion-12.gif" alt="Angry" /&gt;)</description></item><item><title>Re: nHibernate resources</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1112.aspx</link><pubDate>Sat, 05 Feb 2005 04:28:48 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1112</guid><dc:creator>kyriakoy</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1112.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1112</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/forums/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;gcapnias wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td width="100%" valign="top" class="txt4"&gt; &lt;p&gt;Προσωπικά γελάω... &lt;img alt="Big Smile" src="/forums//emoticons/emotion-2.gif" /&gt; Πιστεύω ότι ο Μάνος σας την έχει στημένη!&lt;br /&gt;&lt;br /&gt;Αυτό που αναφέρεις μιλάει για το αρχικό project και αυτό είναι σε Java. Δεν μπορεί να χρησιμοποιεί τα ιδιαίτερα χαρακτηριστικά του .NET και ούτε να λεει τι χρησιμοποιεί σε σχέση με αυτά που λέμε εμείς...&lt;/p&gt; &lt;p&gt;&lt;img alt="Big Smile" src="/forums//emoticons/emotion-2.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Γιώργος %)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;br /&gt;Το Nhibenrate είναι σε beta ακόμη (το είδες και εσύ) και&amp;nbsp;το documentation είναι ημιτελές. Το port βασίζεται στην έκδοση v2.0.3 και όχι στην τελευταία v2.1.7 που υπάρχει στο site του Hibernate.&lt;br /&gt;Σε σχέση με το .ΝΕΤ πράγματι χρησιμοποιεί ADO.NET Connection Transaction.&lt;br /&gt;Από όσο έχω καταλάβει το NHibernate δεν είναι σε θέση να καταλάβει τις αλλαγές σε μια database που δεν περνάνε μέσα από το session, όπως stored procedures και updates από άλλα sessions.&amp;nbsp;Τώρα σε σχέση με το versioning μάλλον κάτι δεν κατάλαβα αλλά το ψάχνω.. &lt;img src="/forums//emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt;</description></item><item><title>Re: nHibernate resources</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1111.aspx</link><pubDate>Sat, 05 Feb 2005 02:53:32 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1111</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1111.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1111</wfw:commentRss><description>Λοιπόν για να σου πω πριν σου πουν: (&lt;em&gt;Σήμερα είναι μία από τις μέρες του μήνα που τρώγομαι με τον ευατό μου και δεν έχω τι να κάνω και διαβάζω ότι βρεθεί μπροστά μου...&lt;/em&gt;)&lt;br /&gt;&lt;br /&gt;Σύμφωνα με την θεωρία του Hibernate είναι καλύτερο να έχει ένα υψηλό έλεγχο των transactions και να αφήνει στην κάθε βάση τον απόλυτο έλεγχο του transaction μέσα από το JDBC. Στο .NET port χρησιμοποιεί το ADO.NET Connection Τransaction και έτσι μπορεί πιο εύκολα να χρησιμοποιήσει περισσότερες βάσεις/server δεδομένων.&lt;br /&gt;&lt;br /&gt;Ακόμα διάβασα&amp;nbsp;- στο &lt;a target="_blank" title="http://www.hibernate.org/hib_docs/reference/en/html/transactions.html" href="http://www.hibernate.org/hib_docs/reference/en/html/transactions.html"&gt;Java documentation&lt;/a&gt; γιατί δεν υπάρχει έτοιμο το αντίστοιχο σε .NET - ότι έχει τη δυνάτοτητα να χρησιμοποιήσει JTA (&lt;a target="_blank" title="http://java.sun.com/products/jta/" href="http://java.sun.com/products/jta/"&gt;Java Transacrtion API&lt;/a&gt;, &lt;em&gt;specifies standard Java interfaces between a transaction manager and the parties involved in a distributed transaction system: the resource manager, the application server, and the transactional applications&lt;/em&gt;), κάτι αντίστοιχο από όσα κατάλαβα του DTC, για να κάνει manage τα transactions του. Δηλαδή υπάρχει μια πολύ καλή πιθανότητα να κάνει το&amp;nbsp;αντοίστοιχο και στην .NET έκδοσή του, να χρησιμοποιεί το DTC, χωρίς να μπορεί να ταυτοποιηθεί από το documentation. Αυτά για τα transactions.&lt;br /&gt;&lt;br /&gt;Από τα παραπάνω μάλλον δεν έχει κάποιο μηχανισμό για update/versioning κοκ απλά φτιάχνει SQL statements για να τα ρίχνει μέσα στην βάση από το Connection που έχει. Και κάπου είδα ότι όλα τα λάθη του ADO.NET βγαίνουν επάνω και φαίνονται μια χαρά για να μπορείς να τακάνεις ότι θέλεις... &lt;img src="/forums//emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt;&lt;br /&gt;George J.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description></item><item><title>Re: nHibernate resources</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1110.aspx</link><pubDate>Sat, 05 Feb 2005 00:30:44 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1110</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1110.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1110</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/forums/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;gcapnias wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td width="100%" valign="top" class="txt4"&gt; &lt;p&gt;Προσωπικά γελάω... &lt;img alt="Big Smile" src="/forums//emoticons/emotion-2.gif" /&gt; Πιστεύω ότι ο Μάνος σας την έχει στημένη!&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;br /&gt;Οχι ρε! Οι προθέσεις μου είναι αγαθές... &lt;/p&gt;</description></item><item><title>Re: nHibernate resources</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1109.aspx</link><pubDate>Fri, 04 Feb 2005 23:23:03 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1109</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1109.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1109</wfw:commentRss><description>Λοιπον...αν και δεν εχω μπει σε βάθος, επειδή ακούω οτι κάποιοι από εσάς έχουν ξεκινήσει evaluation, ας μου πούν το εξής:&lt;br /&gt;&lt;br /&gt;Η γενική ιδέα είναι να έχω ένα δέντρο κατηγοριών - υποκατηγοριών, απεριόριστου βάθους, με custom ordering.&lt;br /&gt;&lt;br /&gt;Αυτό έχει μοντελοποιηθεί πολύ συνοπτικά στους εξής πινακες:&lt;br /&gt;1. Category&lt;br /&gt;(id, cgname)&lt;br /&gt;2. CategoryRelation&lt;br /&gt;(id, parentcategory, childcategory, orderno) - το ID για λόγους συνάφειας - θα μπορούσε να έχει composite pk τα parentcategory-childcategory, αλλα εκεί προτίμησα να έχω ένα unique index μονο.&lt;br /&gt;&lt;br /&gt;Ειδικότερα, αυτό είναι ένα μοντέλο many-to-many σχέσης μεταξύ instances του ίδιου type. Κάθε κατηγορία επιτρέπεται να έχει πολλαπλούς μπαμπάδες, κάθε μπαμπάς έχει πολλά παιδιά και υπάρχει ordering στη σχέση των παιδιών με το μπαμπα. Για να το κάνουμε πιο απλό, ας υποθέσουμε οτι υπάρχει μόνο ένα root.&lt;br /&gt;&lt;br /&gt;Πως μπορώ να το μοντελοποιήσω αυτό με το nHibernate? Οκ, χωρίς ordering είναι προφανώς πιό εύκολο. Αλλα με ordering? Θα πρέπει να έχω views? Πείτε μου ιδέες.&lt;br /&gt;&lt;br /&gt;</description></item><item><title>Re: nHibernate resources</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1108.aspx</link><pubDate>Fri, 04 Feb 2005 22:08:31 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1108</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1108.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1108</wfw:commentRss><description>&lt;p&gt;Προσωπικά γελάω... &lt;img src="/forums//emoticons/emotion-2.gif" alt="Big Smile" /&gt; Πιστεύω ότι ο Μάνος σας την έχει στημένη!&lt;br /&gt;&lt;br /&gt;Αυτό που αναφέρεις μιλάει για το αρχικό project και αυτό είναι σε Java. Δεν μπορεί να χρησιμοποιεί τα ιδιαίτερα χαρακτηριστικά του .NET και ούτε να λεει τι χρησιμοποιεί σε σχέση με αυτά που λέμε εμείς...&lt;/p&gt; &lt;p&gt;&lt;img src="/forums//emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;br /&gt;&lt;br /&gt;Γιώργος %)&lt;/p&gt;</description></item><item><title>Re: nHibernate resources</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1107.aspx</link><pubDate>Fri, 04 Feb 2005 21:42:00 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1107</guid><dc:creator>kyriakoy</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1107.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1107</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/forums/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;KelMan wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td width="100%" valign="top" class="txt4"&gt; &lt;p&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;Ωραία, αναμένουμε λοιπόν... &lt;br /&gt;Ωστόσο, εγώ αναφέρθηκα περισσότερο στην τεχνική που γίνεται το update. Λειτουργεί με κάποιο μηχανισμό versioning (timestamp, guids, κλπ); Υλοποιεί κανένα last-in-wins σενάριο; Επιτρέπει ή αναθέτει στον χρήστη την χειροκίνητη επιλογή του version που θα γίνει update; Τέτοια πραγματάκια ρωτάω...&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;br /&gt; &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span lang="EL" style="mso-ansi-language: EL"&gt;Είμαι και εγώ στην φάση &lt;/span&gt;evaluate&lt;span style="mso-ansi-language: EL"&gt; &lt;span lang="EL"&gt;του &lt;/span&gt;&lt;/span&gt;NHibernate&lt;span lang="EL" style="mso-ansi-language: EL"&gt;. Αυτό που έχω δει μέχρι τώρα:&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span lang="EL" style="mso-ansi-language: EL"&gt;- Έχει &lt;/span&gt;transactions&lt;span style="mso-ansi-language: EL"&gt; &lt;/span&gt;API&lt;span lang="EL" style="mso-ansi-language: EL"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span lang="EL" style="mso-ansi-language: EL"&gt;- &lt;/span&gt;Flushing&lt;span lang="EL" style="mso-ansi-language: EL"&gt;: υποστηρίζει &lt;/span&gt;transparent&lt;span style="mso-ansi-language: EL"&gt; &lt;/span&gt;write&lt;span style="mso-ansi-language: EL"&gt; &lt;/span&gt;behind&lt;span lang="EL" style="mso-ansi-language: EL"&gt;, οι αλλαγές στο &lt;/span&gt;domain&lt;span style="mso-ansi-language: EL"&gt; &lt;/span&gt;model&lt;span style="mso-ansi-language: EL"&gt; &lt;span lang="EL"&gt;δεν περνάνε αμέσως στην &lt;/span&gt;&lt;/span&gt;database&lt;span lang="EL" style="mso-ansi-language: EL"&gt;, κάποια στιγμή προχωράει σε &lt;/span&gt;synchronize&lt;span style="mso-ansi-language: EL"&gt; &lt;span lang="EL"&gt;της μνήμης με την &lt;/span&gt;&lt;/span&gt;database&lt;span lang="EL" style="mso-ansi-language: EL"&gt; (αυτό το ψάχνω ακόμη).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span lang="EL" style="mso-ansi-language: EL"&gt;- Σε επίπεδο &lt;/span&gt;database&lt;span style="mso-ansi-language: EL"&gt; &lt;/span&gt;isolation&lt;span style="mso-ansi-language: EL"&gt; &lt;span lang="EL"&gt;χρησιμοποιεί ότι η κάθε &lt;/span&gt;&lt;/span&gt;database&lt;span style="mso-ansi-language: EL"&gt; &lt;span lang="EL"&gt;κάθε φορά.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span lang="EL" style="mso-ansi-language: EL"&gt;- Μπορείς να χρησιμοποιήσεις &lt;/span&gt;versioned&lt;span style="mso-ansi-language: EL"&gt; &lt;/span&gt;data&lt;span lang="EL" style="mso-ansi-language: EL"&gt;, το κάνει αυτόματα και &lt;/span&gt;optimistic&lt;span style="mso-ansi-language: EL"&gt; &lt;/span&gt;locking&lt;span lang="EL" style="mso-ansi-language: EL"&gt;, καθώς και &lt;/span&gt;&lt;span lang="EN" style="mso-ansi-language: EN"&gt;pessimistic&lt;/span&gt;&lt;span lang="EN" style="mso-ansi-language: EL"&gt; &lt;/span&gt;&lt;span lang="EN" style="mso-ansi-language: EN"&gt;locks&lt;/span&gt;&lt;span lang="EN" style="mso-ansi-language: EL"&gt; &lt;/span&gt;&lt;span lang="EL" style="mso-ansi-language: EL"&gt;με την χρήση του &lt;/span&gt;lockmode&lt;span style="mso-ansi-language: EL"&gt; &lt;span lang="EL"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span lang="EL" style="mso-ansi-language: EL"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Περισσότερα μπορείς να δεις στο &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span lang="EL" style="mso-ansi-language: EL"&gt;&lt;a target="_blank" title="http://nhibernate.sourceforge.net/h2.0.3-docs/reference/html/transactions.html" href="http://nhibernate.sourceforge.net/h2.0.3-docs/reference/html/transactions.html"&gt;&lt;u&gt;&lt;font face="Times New Roman" color="#800080" size="3"&gt;http://nhibernate.sourceforge.net/h2.0.3-docs/reference/html/transactions.html&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span lang="EL" style="mso-ansi-language: EL"&gt;&lt;o:p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span lang="EL" style="mso-ansi-language: EL"&gt;Αυτό πάντως που έχω δει μέχρι τώρα σαν πρόβλημα στην χρήση του στο .&lt;/span&gt;NET&lt;span style="mso-ansi-language: EL"&gt; &lt;span lang="EL"&gt;είναι η σωστή επιλογή (&lt;/span&gt;&lt;/span&gt;best&lt;span style="mso-ansi-language: EL"&gt; &lt;/span&gt;practice&lt;span lang="EL" style="mso-ansi-language: EL"&gt;) &lt;/span&gt;session&lt;span style="mso-ansi-language: EL"&gt; &lt;/span&gt;pattern&lt;span style="mso-ansi-language: EL"&gt; &lt;span lang="EL"&gt;για χρήση σε &lt;/span&gt;&lt;/span&gt;winforms&lt;span lang="EL" style="mso-ansi-language: EL"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;</description></item><item><title>Re: nHibernate resources</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1106.aspx</link><pubDate>Fri, 04 Feb 2005 18:04:23 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1106</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1106.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1106</wfw:commentRss><description>&lt;p&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;Ωραία, αναμένουμε λοιπόν... &lt;br /&gt;Ωστόσο, εγώ αναφέρθηκα περισσότερο στην τεχνική που γίνεται το update. Λειτουργεί με κάποιο μηχανισμό versioning (timestamp, guids, κλπ); Υλοποιεί κανένα last-in-wins σενάριο; Επιτρέπει ή αναθέτει στον χρήστη την χειροκίνητη επιλογή του version που θα γίνει update; Τέτοια πραγματάκια ρωτάω...&lt;/font&gt;&lt;/p&gt;</description></item><item><title>Re: nHibernate resources</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1104.aspx</link><pubDate>Fri, 04 Feb 2005 05:46:40 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1104</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1104.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1104</wfw:commentRss><description>Δυστυχώς δεν έχω παίξει ακόμα με concurrency θέματα στο nHibernate. Μην βιάζεσαι όμως, ένας συνάδελφός μου έκανε ένα πολύ ωραίο παιχνιδάκι με το nUnit και έφτιαξε ένα stress testing frameworkάκι...θα το κολλήσουμε στο nHibernate και θα του αλλάξουμε τα πετρέλαια στο concurrency...αρκεί βέβαια ο άνθρωπος να βρει χρόνο....&lt;br /&gt;</description></item><item><title>Re: nHibernate resources</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1103.aspx</link><pubDate>Fri, 04 Feb 2005 04:49:41 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1103</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1103.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1103</wfw:commentRss><description>&lt;p&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;Εεεε... Γκουχ γκουχ... Κάποιος αν μπορούσε να μου&amp;nbsp;απαντήσει στην ερώτησή μου... Cap? Kyriakoy?&lt;/font&gt;&lt;/p&gt;</description></item><item><title>Re: nHibernate resources</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1102.aspx</link><pubDate>Fri, 04 Feb 2005 03:31:35 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1102</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1102.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1102</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/forums/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;pkanavos wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td width="100%" valign="top" class="txt4"&gt;&lt;br /&gt;&lt;font size="5"&gt;&lt;font size="2"&gt;AAAAAAA! Δεν αντέχω άλλο! Με πώρωσες και αντί να διαβάζω κάθομαι και σκέφτομαι αρχιτεκτονικές!&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;Αυτά πρέπει να τα συζητάει κανείς face-to-face! Δεν μπορώ κάθε φορά να γράφω μια παράγραφο ενώ ήθελα να γράψω 100! Θα πρέπει να ξεκινήσουμε τις συναντήσεις του user group σύντομα!&lt;br /&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;br /&gt;Είσαι σε μια κρίσημη περίοδο. &lt;img src="/forums//emoticons/emotion-2.gif" alt="Big Smile" /&gt; Διαβαζοντας αρχιτεκτονική σου&amp;nbsp;καρφόνονται&amp;nbsp;τρελές ιδέες στο μυαλό... Διάβαζε το JOURNAL από το MSDN, βάλε και λίγο Martin Fowler, αρχίζεις να έχεις κρίσεις! &lt;img src="/forums//emoticons/emotion-2.gif" alt="Big Smile" /&gt; Μετά έχεις παραληρήματα (βλ &lt;a target="_blank" title="/forums/ShowPost.aspx?PostID=502#507" href="/forums/ShowPost.aspx?PostID=502#507"&gt;περιγραφή του τέλειου O/R&lt;/a&gt;). Στο τέλος σκέφτεσαι ότι τι να το κάνεις να αυτοματοποιήσεις το bussiness layer αν δεν μπορείς να έχεις το ίδιο και στο interface, και σε ρωτώ, γιατί έχει διαφορά αν είναι Web Forms ή Windows Forms ε; Δεν μπορεί να είναι το αποτέλεσμα ανεξάρτητο του μέσου;&lt;br /&gt;&lt;br /&gt;Eχμ ναι, με κοιτάνε λίγο περίεργα εδώ... Λες να φταίει που φωνάζω αυτά που γράφω;&lt;br /&gt;&lt;br /&gt;George J.&lt;br /&gt;</description></item><item><title>Re: nHibernate resources</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1101.aspx</link><pubDate>Thu, 03 Feb 2005 23:27:42 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1101</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1101.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1101</wfw:commentRss><description>Αντε, αντε, για να σε κάνω να εγκαταλείψεις το διάβασμα &lt;img src="/forums/emoticons/emotion-1.gif" alt="Smile" /&gt; να σου πω οτι έφτιαξα ένα mini project για να δοκιμάσω τις δυνατότητες της HQL....&lt;br /&gt;&lt;br /&gt;Μου άρεσε το φραστικο ισοδύναμο του "Φέρε μου πίσω όλα τα instances των sectors οι οποίοι έχουν users των οποίων το όνομα αρχίζει από "s" εκτός αν οι sectors έχουν λιγότερους από 3 users"....&lt;img src="/forums/emoticons/emotion-1.gif" alt="Smile" /&gt; Και πιστεψέ με όταν έχεις σχέσεις one-to-many-to-many-to-many αρχίζει και γίνεται παλούκι η SQL..ενώ με HQL και lazy κανεις τη δουλειά σου μια χαρα καλα...το κερασακι στην τούρτα; IList και bind σε datagrid απευθείας &lt;img src="/forums/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt;&lt;br /&gt;Σταματαω εδω γιατι θα φαω ξύλο. &lt;img src="/forums/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt;&lt;br /&gt;</description></item><item><title>Re: nHibernate resources</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1100.aspx</link><pubDate>Thu, 03 Feb 2005 23:19:46 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1100</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1100.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1100</wfw:commentRss><description>&lt;font size="5"&gt;AAAAAAA! Δεν αντέχω άλλο! Με πώρωσες και αντί να διαβάζω κάθομαι και σκέφτομαι αρχιτεκτονικές!&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;Αυτά πρέπει να τα συζητάει κανείς face-to-face! Δεν μπορώ κάθε φορά να γράφω μια παράγραφο ενώ ήθελα να γράψω 100! Θα πρέπει να ξεκινήσουμε τις συναντήσεις του user group σύντομα!&lt;/font&gt;</description></item><item><title>Re: nHibernate resources</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1099.aspx</link><pubDate>Thu, 03 Feb 2005 23:16:46 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1099</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1099.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1099</wfw:commentRss><description>&lt;font size="2"&gt;&lt;em&gt;"...&amp;nbsp;θα κάνεις και από μόνος σου κάτι παρόμοιο."&lt;/em&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;Πως το κατάλαβες? Με αυτό τον τρόπο είχαμε καταφέρει πάντως να φτιάχνουμε εφαρμογές σε ελάχιστο χρόνο. Βλέπεις ΚΑΙ το business logic (ως actions των business objects) ήταν αποθηκευμένο στη βάση σε μορφή VBScript. Τα πεδία των business objects διαβάζονταν σαν object1.Property("XYZ"). Τα περιεχόμενα των business objects προέρχονταν από &lt;em&gt;disconnected&lt;/em&gt; shaped recordsets. Τα relations ήταν SQL statements.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; Το αποτέλεσμα ήταν ότι η ανάπτυξη της πλατφόρμας πήρε αρκετό χρόνο, αλλά όχι τόσο όσο ακούγεται (περιείχε και πολλά άλλα καλούδια βεβαίως-βεβαίως). Η παραμετροποίηση μιας συγκεκριμμένης εφαρμογής χρειαζόταν ... όσο χρόνο έπαιρνε στον παρμετροποιητή να γράψει τα απλά SQL! Και παρά το ότι φοβόμασταν ότι η ταχύτητα θα επηρρεαστεί αρνητικά, το σύστημα πέτυχε τρελές επιδόσεις στα stress test (χιλιάδες ταυτόχρονοι χρήστες), πόσο μάλλον στην κανονική λειτουργία (150 χρήστες). Και χωρίς queues! &lt;img src="/forums//emoticons/emotion-11.gif" alt="Cool" /&gt; Ο σημαντικότερος λόγος γι αυτό ήταν ότι το data manipulation γινόταν στον SQL Server με stored procedures αντί για τη μνήμη με objects. Αλλά και τα stored procedures κατασκευάζονταν αυτόματα από τα metadata (άθλια λέξη).&lt;br /&gt;&lt;br /&gt;Πιστεύω ότι κάπου εκεί πρέπει να κρύβεται και το μυστικό για τη σωστή χρήση του nHibernate. Για να πετύχει κανείς καλό concurrency θα πρέπει να σηκώνει όσο το δυνατόν λιγότερα αντικείμενα στη μνήμη και να μεταφέρει όσο από τον κώδικα πειράζει data σε stored procedures ή έστω parameterized queries. &lt;br /&gt;&lt;br /&gt;Τώρα με το .NET βλέπω τα datasets, βλέπω το CodeDom και μου τρέχουν τα σάλια! Δεν αντέχω, κάποια στιγμή θα την ξαναφτιάξω την ιστορία με .NET! (Και τα ίδια ακούω και από τους υπόλοιπους του παλιού team!)</description></item></channel></rss>