<?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>ADO.NET</title><link>https://www.dotnetzone.gr:443/cs/forums/78/ShowForum.aspx</link><description>Θέματα σχετικά με την προσπέλαση δεδομένων μέσω του ADO.NET και του System.Data namespace</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: One or More Entity Data Models</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70966.aspx</link><pubDate>Tue, 24 Jul 2012 05:50:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70966</guid><dc:creator>xabikos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70966.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=70966</wfw:commentRss><description>Ένα πιθανό θέμα που μπορεί να προκύψει με αυτή την υλοποίηση είναι αν για κάποιο λόγο προσπαθήσεις να χρησιμοποιήσεις τον ίδιο πίνακα από δυο διαφορετικά Entity Models. Σίγουρα θα προκύψει ένα θέμα απόδοσης και ανάλογα με το πως γίνονται τα κλειδώματα στους πίνακες δεν ξέρω αν υπάρχει περίπτωση να περιμένει η μια διαδικασία να τελειώσει η άλλη και το ανάποδο. &lt;br&gt;Βέβαια αν δεν υπάρχει περίπτωση για ταυτόχρονη πρόσβαση στην εφαρμογή από πολλούς χρήστες να μην χρειάζεται να λάβεις υπόψιν σου τα παραπάνω.&lt;br&gt;</description></item><item><title>Απ: One or More Entity Data Models</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70957.aspx</link><pubDate>Mon, 23 Jul 2012 08:38:59 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70957</guid><dc:creator>koslyr</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70957.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=70957</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Markos:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Και με τα navigation properties τι έκανες;&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Μάλλον αυτά βρίσκονται στο assembly: EdmRelationshipAttribute όπου και εκεί εκανα αλλαγή στο namespace. &lt;br&gt;Προς το παρόν χρησιμοποιώ ήδη 3 Entities Models στο ίδιο dll που έχουν κοινούς πίνακες από την βάση και ευτυχως δεν έχει προκύψει κάποιο πρόβλημα στην υλοποίηση.&lt;br&gt;</description></item><item><title>Απ: One or More Entity Data Models</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70947.aspx</link><pubDate>Fri, 20 Jul 2012 17:53:19 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70947</guid><dc:creator>Markos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70947.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=70947</wfw:commentRss><description>Και με τα navigation properties τι έκανες;&lt;br&gt;</description></item><item><title>Απ: One or More Entity Data Models</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70946.aspx</link><pubDate>Fri, 20 Jul 2012 14:29:32 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70946</guid><dc:creator>koslyr</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70946.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=70946</wfw:commentRss><description>Τελικά με τις κατάλληλες αλλαγές (στο κάθε EM και διαφορετικό) στο Namespace &amp;amp; στο assembly: EdmRelationshipAttribute καταφερα να έχω περισσότερα από ένα Entity Models στο ίδιο DLL που χρησιμοποιούν κοινούς πίνακες από την βάση χωρίς να χτυπάει το application κατα την φάση του compilation.&lt;br&gt;</description></item><item><title>Απ: One or More Entity Data Models</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70941.aspx</link><pubDate>Thu, 19 Jul 2012 08:26:05 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70941</guid><dc:creator>Markos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70941.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=70941</wfw:commentRss><description>Απ' όσο ξέρω, δεν υπάρχει ικανοποιητική απάντηση στο ερώτημά σου. Βεβαίως και στο compilation θα σου βγάλει σφάλμα, μιας και έχεις δύο κλάσεις με το ίδιο όνομα, στο ίδιο namespace. Με τα διαφορετικά folders επιχειρείς να δώσεις μία λύση σε ένα πρόβλημα που (πάντα κατά τη γνώμη μου) δεν είναι εύκολο να αντιμετωπιστεί.&lt;br&gt;&lt;br&gt;Ουσιαστικά, έχεις να κάνεις με τρία mappings. Αντιγράφω από το &lt;a href="http://msdn.microsoft.com/en-us/library/cc982042%28v=vs.100%29.aspx"&gt;documentation&lt;/a&gt;:&lt;br&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;
              &lt;p&gt;&lt;i&gt;Storage Model Content (&lt;strong&gt;edmx:StorageModels&lt;/strong&gt;):
 This section describes the target database schema and is written in 
storage schema definition language (SSDL). For more information, see &lt;a href="http://msdn.microsoft.com/en-us/library/bb399559.aspx"&gt;SSDL Specification&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/library/bb387135.aspx"&gt;EntityContainer Element (SSDL)&lt;/a&gt;.&lt;/i&gt;&lt;/p&gt;
            &lt;/li&gt;&lt;li&gt;
              &lt;p&gt;&lt;i&gt;Conceptual Model Content (&lt;strong&gt;edmx:ConceptualModels&lt;/strong&gt;):
 This section defines the entity types, complex types, associations, 
entity containers, entity sets, and association sets in the application 
domain. This section is written in conceptual storage definition 
language (CSDL). For more information, see &lt;a href="http://msdn.microsoft.com/en-us/library/bb399292.aspx"&gt;CSDL Specification&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/library/bb399169.aspx"&gt;EntityContainer Element (CSDL)&lt;/a&gt;.&lt;/i&gt;&lt;/p&gt;
            &lt;/li&gt;&lt;li&gt;
              &lt;p&gt;&lt;i&gt;Mapping Content (&lt;strong&gt;edmx:Mappings&lt;/strong&gt;): This 
section describes the mapping between the conceptual model and the 
target database, and is written in mapping specification language (MSL).
 For more information, see &lt;a href="http://msdn.microsoft.com/en-us/library/bb399202.aspx"&gt;MSL Specification&lt;/a&gt;.&lt;/i&gt;&lt;/p&gt;
            &lt;/li&gt;&lt;/ul&gt;Δύο άρθρα που αγγίζουν το πρόβλημα είναι τα:&lt;br&gt;&lt;br&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/adonet/archive/2008/11/24/working-with-large-models-in-entity-framework-part-1.aspx"&gt;Working With Large Models In Entity Framework – Part 1&lt;/a&gt;, και η συνέχειά του...&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/adonet/archive/2008/11/25/working-with-large-models-in-entity-framework-part-2.aspx"&gt;Working With Large Models In Entity Framework – Part 2&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br&gt;Το "ζουμί" βρίσκεται στο δεύτερο άρθρο, όπου οι προτεινόμενες λύσεις είναι δύο:&lt;br&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;Multiple CSDL files( Models) while sharing MSL and SSDL&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;Divide application schemas into different sets of CSDL, MSL and SSDL files&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;Το "πως" γίνεται το implementation στις δύο αυτές προσεγγίσεις περιγράφεται στο άρθρο. Η πρώτη, αν και δελεαστική και ίσως η πιο "προφανής", δε σου λύνει το πρόβλημα του performance. Επίσης, δεν έχεις intellisense και δεν αποφεύγεις το πρόβλημα με το namespace. Για μένα, όντας τεμπελάκος, και οι δύο προσεγγίσεις είναι "μπελαλίδικες". Τα ORMs πρέπει να είναι πιο απλά.&lt;br&gt;&lt;br&gt;Με βάση αυτά που διαβάζω, το πρόβλημα παραμένει και στην επόμενη έκδοση του framework και του Visual Studio. Μπορείς να έχεις &lt;a href="http://blogs.msdn.com/b/efdesign/archive/2010/10/11/entity-designer-improvements-preview.aspx"&gt;multiple diagrams&lt;/a&gt;, αλλά αυτό εξυπηρετεί την καλύτερη οπτική οργάνωση των entities, χωρίς ουσιαστικά να λύνει το πρόβλημά σου. Πάντως, υπάρχει η δυνατότητα να διαχωρίσεις το diagram information από το edmx file.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: One or More Entity Data Models</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70938.aspx</link><pubDate>Thu, 19 Jul 2012 05:30:36 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70938</guid><dc:creator>koslyr</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70938.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=70938</wfw:commentRss><description>Σε περίπτωση που δημιουργήσω στο ιδιο DLL πολλαπλά Entity Models με βάση τα κύρια Operations&amp;nbsp; που θέλω να υλοποιησω, τοτε εάν σε δυο Entities έχω χρησιμοποιήσει τον ίδιο πίνακα (και άρα παράγεται η ίδια class) στο compile&amp;nbsp; βγάζει σφάλμα. &lt;br&gt;Στην περίπτωση αυτή χρειάστηκε να βάλω τα Entities Models σε διαφορετικούς φακέλους μέσα στο dll ώστε να μην εξάγει error η εφαρμογή στο compilation. Υπάρχει κάποια άλλη πιο βέλτιστη πολιτική για την αντιμετώπιση του προβλήματος αυτού, από το να δημιουργώ όλα αυτά τα folders μέσα στο Project?&lt;br&gt;</description></item><item><title>Απ: One or More Entity Data Models</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70846.aspx</link><pubDate>Fri, 13 Jul 2012 19:36:37 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70846</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70846.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=70846</wfw:commentRss><description>Είναι εντελώς λάθος να συζητά κανείς για "βάση χωρισμένη", ή ακόμα και για βάση, όταν μιλάει για Entity Data Models. Σκοπός των Entity Data Models είναι να κρύψουν αν είναι δυνατόν εντελώς ότι υπάρχει βάση και να αφήσουν τον προγραμματιστή και την εφαρμογή να δουλέψει με αντικείμενα. Ένα Entity Model πρέπει να μπορεί να εξυπηρετήσει ένα ή περισσότερα use cases χωρίς να περιλαμβάνει "περιττές" κλάσεις. Πέρα από το "θόρυβο", οι περιττές κλάσεις δημιουργούν και overhead όταν χρησιμοποιείς ένα μοντέλο για πρώτη φορά. Επιπλέον, είναι πολύ πιθανότερο να κάνεις λάθη και να φορτώσεις περιττά αντικείμενα αν το μοντέλο είναι μεγάλο.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Η ιδέα "entity ανά schema" συνεπώς είναι όχι μόνο λάθος αλλά και αντιπαραγωγική. Είναι μία παρανόηση του τί είναι ένα ORM και ποιά η σχέση του με τη βάση από κάτω. Μία συναλλαγή πώλησης πάντα περιλαμβάνει άτομα και προϊόντα. Θα ήταν το λιγότερο "περίεργο" να πρέπει να συνδυάσεις 3 διαφορετικά entity models, άρα και τρία διαφορετικά connections, τρία διαφορετικά batches, τρία διαφορετικά transactions για να καταγράψεις 1 πώληση.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Για να σχεδιάσεις σωστά ένα entity model θα πρέπει καταρχήν να ξεχάσεις ότι δουλεύεις με βάση και να θυμηθείς ότι μιλάς με αντικείμενα. Θα πρέπει μετά να δεις ποιά είναι τα use cases που θέλεις να καλύψεις, ποιά αντικείμενα χρειάζονται και τί μορφή θα έχουν αυτά.&amp;nbsp;&lt;/div&gt;&lt;div&gt;Δεν έχει νόημα να ορίσεις και τα 50 πιθανά properties που έχει ένα πελάτης για χρήση πχ. από πωλήσεις και λογιστήριο, όταν θέλεις να καλύψεις την πώληση στο γκισέ. Αρκεί να χρησιμοποιήσεις μόνο τα 5-10 properties που απαιτούνται για το use case.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Προφανώς, δεν μπορείς να φτιάξεις ένα διαφορετικό μοντέλο για κάθε use case, οπότε θα πρέπει να δεις πως μπορείς να ομαδοποιήσεις διαφορετικά use cases ώστε να χρησιμοποιήσουν το ίδιο μοντέλο. Μπορείς για παράδειγμα να έχεις ένα διαφορετικό μοντέλο για κάθε διαφορετικό module ή οικογένεια use cases της εφαρμογής σου, ή διαφορετικά μοντέλα για business διαδικασία.&amp;nbsp;&lt;/div&gt;&lt;div&gt;Στην πραγματικότητα θα πρέπει να βρεις μία ισορροπία ανάμεσα στο πόσα διαφορετικά use cases μπορείς να εξυπηρετήσεις με ένα μοντέλο σε σχέση με το πόσες κλάσεις μένουν αχρησιμοποίητες (και θεωρούνται overhead) σε κάθε περίπτωση.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Φυσικά, αν η εφαρμογή σου είναι σχετικά μικρή, ίσως να μπορείς να χρησιμοποιήσεις ένα μόνο μοντέλο.&amp;nbsp;&lt;/div&gt;</description></item><item><title>Απ: One or More Entity Data Models</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70825.aspx</link><pubDate>Wed, 11 Jul 2012 03:48:36 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70825</guid><dc:creator>nikolaosk</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70825.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=70825</wfw:commentRss><description>θα συμφωνήσω με τον Μάνο.Δεν μπορείς να τα διαχειριστείς 80 entities στον designer...&lt;br&gt;&lt;br&gt;Αν η βάση σου είναι "χωρισμένη" σε schemas μπορείς να δημιουργήσεις entity data models per schema (Person, Sales). Βέβαια πρέπει να δεις μήπως θέλεις να κάνεις LΙNQ queries (joins) σε undelying tables που είναι σε διαφορετικά &lt;b&gt;Entity Data Models&lt;/b&gt; ..Ίσως λοιπόν αντί για per schema - entity data models να κάνεις related tables - entity data models.&lt;br&gt;</description></item><item><title>Απ: One or More Entity Data Models</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70823.aspx</link><pubDate>Tue, 10 Jul 2012 18:02:32 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70823</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70823.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=70823</wfw:commentRss><description>&lt;p&gt;Καλύτερα να έχεις πολλαπλά entity models οργανωμένα με κάποια λογική. Πχ αν ένα set από operations έχει να κάνει με πελάτες για παραγγελίες, βάλε τους ανάλογους πίνακες. Αν έχεις ένα μεγάλο entity model τότε θα έχεις διάφορα overheads όπως πχ όταν ανοίγει λόγω του μεγέθους των metadata που θα φορτώνει. Επιπρόσθετα, θα δυσκολεύεσαι να δουλέψεις στον designer γιατί θα είναι γεμάτος entities. Όπως και να έχει, σε ένα dll μπορείς να έχεις πολλαπλά entity models και να χρησιμοποιείς αυτό που χρειάζεσαι ανά περίσταση. Ωστόσο είναι λίγο δύσκολο και χρειάζεται μεγάλη προσοχή αν αποφασίσεις να δουλέψεις *ταυτόχρονα* με δύο ή παραπάνω entity models. Γι αυτό θα πρέπει να κάνεις προσεκτικό σχεδιασμό...&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>One or More Entity Data Models</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70820.aspx</link><pubDate>Tue, 10 Jul 2012 07:30:17 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70820</guid><dc:creator>koslyr</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70820.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=70820</wfw:commentRss><description>Εχω μια Βαση Δεδομένων σε MS-SQLSERVER 2008 R2 με περίπου 80 πίνακες. Σκεφτομαι να χρησιμοποίησω το EF για να παραγω το αντιστοιχο Entity Model της βάσης μου, ώστε όλο αυτό το Data Access Layer να ενταχθεί ακολούθως σε ένα dll.&lt;br&gt;Το ερώτημά μου είναι εάν θα ήταν προτιμότερο για καλύτερο performance να εχω διαφορα Entities Models που θα περιλαμβάνουν ορισμένους πίνακες από την Βάση (σύμφωνα με τις βασικές εργασίες που θα εκτελώ) και όχι ένα Entity Model με όλους τους 80 πίνακες. &lt;br&gt;Φαντάζομαι στην δευτερη περίπτωση που θα έχω μονο ενα Model με όλα τα αντιστοιχα objects, οταν θα δηλώνω instances αυτού ίσως δημιουργείται κάποια υποβάθμιση στο performance του application.&lt;br&gt;&lt;br&gt;</description></item></channel></rss>