<p>What particular method/application are you using to communicate between your application and a database?  Custom code with stored procedures?  SubSonic?  nHibernate?  Entity Framework?  LINQ?</p>

[{'answer_id': 45160, 'author': 'Michael Haren', 'author_id': 29, 'author_profile': 'https://Stackoverflow.com/users/29', 'pm_score': 2, 'selected': False, 'text': '<p>I primarily use <a href="http://msdn.microsoft.com/en-us/library/cc309504.aspx" rel="nofollow noreferrer">Microsoft Enterprise Library Data Access Block</a> to access stored procedures in MS SQL Server databases.</p>\n'}, {'answer_id': 45213, 'author': 'dagorym', 'author_id': 171, 'author_profile': 'https://Stackoverflow.com/users/171', 'pm_score': 0, 'selected': False, 'text': '<p>At work our code base is C++ and Perl and we talk to a MySQL database.  For our interface we have some fairly thin custom classes wrapped around the basic MySQL client libraries for our C++ code and the DBI module for our Perl scripts.</p>\n'}, {'answer_id': 45217, 'author': 'Kevin Sheffield', 'author_id': 590, 'author_profile': 'https://Stackoverflow.com/users/590', 'pm_score': 0, 'selected': False, 'text': '<p>SubSonic and LINQ to SQL, hopefully one day soon LINQ to SubSonic though!</p>\n'}, {'answer_id': 45236, 'author': 'Geir-Tore Lindsve', 'author_id': 4582, 'author_profile': 'https://Stackoverflow.com/users/4582', 'pm_score': 0, 'selected': False, 'text': '<p>I primarily use NHibernate, both at work and on my freetime projects. This started as an attempt to break out of the norm at work to use ADO.NET datareaders/datasets and we now have a few projects using Hibernate/NHibernate.</p>\n'}, {'answer_id': 45249, 'author': 'JasonS', 'author_id': 1865, 'author_profile': 'https://Stackoverflow.com/users/1865', 'pm_score': 0, 'selected': False, 'text': '<p>SqlHelper class from the older version of the MS Enterprise App Blocks.  It is far from perfect, but hard to beat its simplicity for simple CRUD apps.</p>\n'}, {'answer_id': 45251, 'author': 'csjohnst', 'author_id': 1292, 'author_profile': 'https://Stackoverflow.com/users/1292', 'pm_score': 1, 'selected': False, 'text': '<p>We\'re using <a href="http://www.ideablade.com/" rel="nofollow noreferrer">IdeaBlade</a> on our projects. I\'ve found it to be pretty easy to use. </p>\n'}, {'answer_id': 45255, 'author': 'EndangeredMassa', 'author_id': 106, 'author_profile': 'https://Stackoverflow.com/users/106', 'pm_score': 0, 'selected': False, 'text': '<p>MS SQL Stored Procedures.</p>\n'}, {'answer_id': 45257, 'author': 'Lars Mæhlum', 'author_id': 960, 'author_profile': 'https://Stackoverflow.com/users/960', 'pm_score': 0, 'selected': False, 'text': "<p>I usually create a DataTier with LiNQ.<br>\nIt consist of repositories that implement composite interfaces, so I have total flexibility on how to use them.  </p>\n\n<pre><code>IPersonRepository : IReadRepository&lt;Person&gt;, ICreateRepository&lt;Person&gt;, IUpdateRepository&lt;Person&gt; //and so on..\n</code></pre>\n\n<p>They are mostly domain object centric, so they emit domain objects and take care of all the mapping logic themselves.<br>\nThey might also create some list dictionaries, f.ex a dictionary consisting of the id and name of a person, so I don't have to pull up too much from the db to display a drop down list.<br>\nAlthough sometimes, for smaller projects, I just use Attribute base mapping without a .dbml.</p>\n\n<p>I feel that this approach gives a very clean application model, because all the messy data centric logic is hidden in the DataTier. The Business-/ServiceTier is pure business :)</p>\n"}, {'answer_id': 45259, 'author': 'FlySwat', 'author_id': 1965, 'author_profile': 'https://Stackoverflow.com/users/1965', 'pm_score': 0, 'selected': False, 'text': '<ul>\n<li>SQL Server</li>\n<li>All stored procedures</li>\n<li>Handrolled polymorphic entity framework that I reuse from project to project to handle the Sproc Resultset -> Object mapping.</li>\n</ul>\n\n<p>I guess that makes me oldschool.</p>\n'}, {'answer_id': 45462, 'author': 'Joe Steele', 'author_id': 451635, 'author_profile': 'https://Stackoverflow.com/users/451635', 'pm_score': 2, 'selected': False, 'text': '<p>I\'ve been using NHibernate for the last year or so, and it\'s proved to be a really quick way of getting basic CRUD (almost) for free.</p>\n\n<p>If this is something you\'re looking to get into, I can recommend Billy McCafferty\'s NHibernate best practices article on CodeProject:</p>\n\n<p><a href="http://www.codeproject.com/KB/architecture/NHibernateBestPractices.aspx" rel="nofollow noreferrer">http://www.codeproject.com/KB/architecture/NHibernateBestPractices.aspx</a></p>\n\n<p>This has proven to be a great scalable and flexible solution and makes it easy to achieve a clear separation of the DAL from the other layers.</p>\n'}, {'answer_id': 48290, 'author': 'Alexander Morland', 'author_id': 4013, 'author_profile': 'https://Stackoverflow.com/users/4013', 'pm_score': 0, 'selected': False, 'text': "<p>MVC framework where model's has datasource classes with the actual database language, the developer in most cases uses save, saveField, delete, find etc methods and the framework translates this to sql queries. This is not only safer and easier, it is also very convenient in that the code is datasource indepenedent, ie you can change database server and keep the code.</p>\n"}, {'answer_id': 48327, 'author': 'zappan', 'author_id': 4723, 'author_profile': 'https://Stackoverflow.com/users/4723', 'pm_score': 0, 'selected': False, 'text': "<p>I've started with Hibernate on Java project at my workplace, and then realized that there exist the .Net port (NHibernate) and used it again in a .Net project. I've also came across the article that <em>joesteele</em> mentions, and used it as a base for my projects with some minor modifications when needed, mostly when needed to target transaction beginning and ending manually.</p>\n\n<p>The same practice and library that can be applied to both Java and C# platforms, targeting the Windows, or Linux as application platforms, makes development on different platforms easier than needing to learn different frameworks.</p>\n\n<p>Although i'm planning to exmine the Subsonic, iBatis and LINQ, for now Hibernate and NHibernate seem like the right tool for the job while i have to target both Windows and Linux platforms.</p>\n"}, {'answer_id': 53868, 'author': 'Mike Fielden', 'author_id': 4144, 'author_profile': 'https://Stackoverflow.com/users/4144', 'pm_score': 1, 'selected': False, 'text': '<p>I used Hibernate in my previous job to connect to both MySql and Sql Server but I have since switched over to .NET so currently I work with LINQ and I really enjoy it. </p>\n'}, {'answer_id': 53874, 'author': 'George Mauer', 'author_id': 5056, 'author_profile': 'https://Stackoverflow.com/users/5056', 'pm_score': 0, 'selected': False, 'text': "<p>We've got an oracle back end with something like 500 stored procedures where applications run directly against the data.</p>\n\n<p>I started building a custom or-mapped domain model that I've been integrating but I did it wrong initially and now am stuck dealing with that headache as well...ugh</p>\n"}]
['https://Stackoverflow.com/questions/45152', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/4550/']