<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Mike Borozdin's Blog</title>
    <description>A blog about programming, web and IT in general</description>
    <link>http://www.mikeborozdin.com/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 1.4.5.0</generator>
    <language>en-GB</language>
    <blogChannel:blogRoll>http://www.mikeborozdin.com/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>http://www.mikeborozdin.com/syndication.axd</blogChannel:blink>
    <dc:creator>Mike Borozdin</dc:creator>
    <dc:title>Mike Borozdin's Blog</dc:title>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/mikeborozdin" type="application/rss+xml" /><item>
      <title>Using Live Mesh as a Free Backup Utility</title>
      <description>&lt;p&gt;Recently I was looking for a free backup tool that would keep my important documents online and in case any problems with my laptop, I could easily recover them. &lt;/p&gt;  &lt;p&gt;I could use my own hosting space, but I thought it wasn’t convenient to manually upload the documents I was constantly working on. So, I decided to look for some automatic solution. Basically, I need the following things:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Ability to save the data online &lt;/li&gt;    &lt;li&gt;Ability to perform automatic synchronization, i.e. when I change a file on my local computer it should get automatically updated on the remote storage and vice versa. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Thus, such things as the built-in Windows utilities that required you save your data on external devices or network drivers wasn’t the thing I was looking for. Moreover, various online services like &lt;a href="http://skydrive.live.com/" target="_blank"&gt;SkyDrive&lt;/a&gt; was still not the best choice, because they just provided an online storage, but didn’t give any mechanism of automatic file synchronization. I also had a look at &lt;a href="http://www.foldershare.com/" target="_blank"&gt;Live Sync&lt;/a&gt; this service was very close to the thing I was looking for, but unfortunately it could only synchronize data only between connected devices, but it didn’t have any online storage. Anyway, I was given an advice to try &lt;a href="http://www.mesh.com/" target="_blank"&gt;Live Mesh&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;At a first glance &lt;a href="http://www.mesh.com/" target="_blank"&gt;Live Mesh&lt;/a&gt; is nearly identical to Live Sync, however it has one, but significant difference – it does provide an online storage of 5 GBs which was pretty enough for me.&lt;/p&gt;  &lt;p&gt;So, what do you need to do to start backing up important data with &lt;a href="http://www.mesh.com/" target="_blank"&gt;Live Mesh&lt;/a&gt;? First of all, you need to sign up with it. After that you’ll get an access to Live Desktop where you can create folders and upload files manually. Sure, manual file uploading isn’t the best thing to do and you can download an utility which reside in the system tray and will monitor all the changes of the files you set to synchronize. However, it’s not very clear how one can download the necessary software, in fact, you should select “Add Device&amp;quot; from the main menu.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.mikeborozdin.com/image.axd?picture=WindowsLiveWriter/UsingLiveMeshasaFreeBackupUtility/68FAF2E9/image.png" width="640" height="451" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;After installing the software, you can just select the folder which contents you want to backup in Windows Explorer.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.mikeborozdin.com/image.axd?picture=WindowsLiveWriter/UsingLiveMeshasaFreeBackupUtility/48CFC05F/image.png" width="609" height="574" /&gt; &lt;/p&gt;  &lt;p&gt;And every file you create or edit will be automatically added to your online storage.&lt;/p&gt;  &lt;p&gt;Generally, I’m very happy with &lt;a href="http://www.mesh.com/" target="_blank"&gt;Live Mesh&lt;/a&gt; and would definitely recommend to give it a try. Also, don’t forget that it’s presently in the beta phase, so many features are to come, for example, software for mobile devices, while now you can install it on Windows and Mac.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/mikeborozdin/~3/P2VhmHACJQQ/post.aspx</link>
      <author>mike.borozdin.nospam@nospam.gmail.com (Mike Borozdin)</author>
      <comments>http://www.mikeborozdin.com/post/Using-Live-Mesh-as-a-Free-Backup-Utility.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mikeborozdin.com/post.aspx?id=99568dba-44e3-4054-a4d5-6b874ad1ae29</guid>
      <pubDate>Wed, 01 Jul 2009 11:09:38 -0700</pubDate>
      <dc:publisher>Mike Borozdin</dc:publisher>
      <pingback:server>http://www.mikeborozdin.com/pingback.axd</pingback:server>
      <pingback:target>http://www.mikeborozdin.com/post.aspx?id=99568dba-44e3-4054-a4d5-6b874ad1ae29</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.mikeborozdin.com/trackback.axd?id=99568dba-44e3-4054-a4d5-6b874ad1ae29</trackback:ping>
      <wfw:comment>http://www.mikeborozdin.com/post/Using-Live-Mesh-as-a-Free-Backup-Utility.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mikeborozdin.com/syndication.axd?post=99568dba-44e3-4054-a4d5-6b874ad1ae29</wfw:commentRss>
    <feedburner:origLink>http://www.mikeborozdin.com/post.aspx?id=99568dba-44e3-4054-a4d5-6b874ad1ae29</feedburner:origLink></item>
    <item>
      <title>Put EntityDataSource Attributes to Code-Behind</title>
      <description>&lt;p&gt;The EntityDataSource control is a very powerful one. It allows you to rapidly create database driven application. You don’t have to manually write code for extracting, modification and deleting records from the database. Moreover since this code is backed by Entity Framework, you are not tied up with a particular database schema and can easily change it or even choose other database application.&lt;/p&gt;  &lt;p&gt;However when working with EntityDataSource sometimes I feel like I using plain old SqlDataSource and simply have too much unnecessary code in my .aspx files. For instance, you may end up have code like this one:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:EntityDataSource&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;EntityDataSource1&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; 
    &lt;span class="attr"&gt;ConnectionString&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;name=NorthwindEntities&amp;quot;&lt;/span&gt; 
    &lt;span class="attr"&gt;DefaultContainerName&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;NorthwindEntities&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;EnableDelete&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;True&amp;quot;&lt;/span&gt; 
    &lt;span class="attr"&gt;EnableInsert&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;True&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;EnableUpdate&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;True&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;EntitySetName&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Products&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Include&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Categories, Suppliers&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;AutoGenerateWhereClause&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;WhereParameters&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:QueryStringParameter&lt;/span&gt; &lt;span class="attr"&gt;Type&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Int32&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;CategoryID&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;QueryStringField&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;CategoryID&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:QueryStringParameter&lt;/span&gt; &lt;span class="attr"&gt;Type&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Int32&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;SupplierID&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;QueryStringField&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;SupplierID&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;WhereParameters&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:EntityDataSource&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;That certainly isn’t cool at all. Because it simply shouldn’t be in an .aspx file, not only because it breaks application layers, but simply because it inconvenient. It clutters .aspx files which should be templates only. What if a designer meets code like this? What if accidently change something?&lt;/p&gt;

&lt;p&gt;Instead it’s reasonable to move all these lines of code to code-behind.&lt;/p&gt;

&lt;p&gt;So, in your .aspx file you just leave this declaration:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:EntityDataSource&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;dsProducts&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;While put all the attribute assignments to code-behind:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;NorthwindEntities db = &lt;span class="kwrd"&gt;new&lt;/span&gt; NorthwindEntities();

dsProducts.ConnectionString = db.Connection.ConnectionString;
dsProducts.DefaultContainerName = &lt;span class="str"&gt;&amp;quot;NorthwindEntities&amp;quot;&lt;/span&gt;;
dsProducts.EntitySetName = &lt;span class="str"&gt;&amp;quot;Products&amp;quot;&lt;/span&gt;;
dsProducts.Include = &lt;span class="str"&gt;&amp;quot;Categories, Suppliers&amp;quot;&lt;/span&gt;;

dsProducts.EnableUpdate = &lt;span class="kwrd"&gt;true&lt;/span&gt;;
dsProducts.EnableInsert = &lt;span class="kwrd"&gt;true&lt;/span&gt;;
dsProducts.EnableDelete = &lt;span class="kwrd"&gt;true&lt;/span&gt;;
dsProducts.AutoGenerateWhereClause = &lt;span class="kwrd"&gt;true&lt;/span&gt;;

dsProducts.WhereParameters.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; QueryStringParameter(&lt;span class="str"&gt;&amp;quot;CategoryID&amp;quot;&lt;/span&gt;, TypeCode.Int32, &lt;span class="str"&gt;&amp;quot;CategoryID&amp;quot;&lt;/span&gt;));
dsProducts.WhereParameters.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; QueryStringParameter(&lt;span class="str"&gt;&amp;quot;SupplierD&amp;quot;&lt;/span&gt;, TypeCode.Int32, &lt;span class="str"&gt;&amp;quot;SupplierID&amp;quot;&lt;/span&gt;));&lt;/pre&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;In fact, the same technique applies to any other data source control, like LinqDataSource or even ObjectDataSource.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/mikeborozdin/~3/ULHKo02AWtk/post.aspx</link>
      <author>mike.borozdin.nospam@nospam.gmail.com (Mike Borozdin)</author>
      <comments>http://www.mikeborozdin.com/post/Put-EntityDataSource-Attributes-to-Code-Behind.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mikeborozdin.com/post.aspx?id=68c9aa7f-4378-4929-bad7-6b496bd286a4</guid>
      <pubDate>Mon, 23 Mar 2009 08:43:44 -0700</pubDate>
      <dc:publisher>Mike Borozdin</dc:publisher>
      <pingback:server>http://www.mikeborozdin.com/pingback.axd</pingback:server>
      <pingback:target>http://www.mikeborozdin.com/post.aspx?id=68c9aa7f-4378-4929-bad7-6b496bd286a4</pingback:target>
      <slash:comments>7</slash:comments>
      <trackback:ping>http://www.mikeborozdin.com/trackback.axd?id=68c9aa7f-4378-4929-bad7-6b496bd286a4</trackback:ping>
      <wfw:comment>http://www.mikeborozdin.com/post/Put-EntityDataSource-Attributes-to-Code-Behind.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mikeborozdin.com/syndication.axd?post=68c9aa7f-4378-4929-bad7-6b496bd286a4</wfw:commentRss>
    <feedburner:origLink>http://www.mikeborozdin.com/post.aspx?id=68c9aa7f-4378-4929-bad7-6b496bd286a4</feedburner:origLink></item>
    <item>
      <title>CSS Class Names Instead of ASP.NET Client IDs</title>
      <description>&lt;p&gt;In ASP.NET the client IDs of controls are often really unpredictable. When you need to add some JavaScript code that works with rendered controls you have to know their IDs. But usually an ID looks like something like this: “ctl00_contentBody_txtStreet”. There are several methods for overcoming that difficulty explained &lt;a href="http://www.west-wind.com/WebLog/posts/4605.aspx" target="_blank"&gt;here&lt;/a&gt;. However they require writing additional code or even creating your own controls inherited from the original ones.&lt;/p&gt;  &lt;p&gt;But there is one simply but yet dirty way of addressing HTML elements rendered by ASP.NET. Do you remember that you can assign the &lt;strong&gt;CssClass&lt;/strong&gt; attribute to any server control? Do you remember the jQuery selector that allows you to retrieve the elements with the specified CSS class? So, we can use it!&lt;/p&gt;  &lt;p&gt;The pattern is simple:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TextBox&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;txtStreet&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;CssClass&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;txtStreet&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;&lt;style type="text/css"&gt;




.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;/p&gt;

&lt;p&gt;You just add the &lt;strong&gt;CssClass&lt;/strong&gt; attribute and give it a unique value.&lt;/p&gt;

&lt;p&gt;Then you can retrieve the value of the element or perform any other manipulation with jQuery:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;alert($(&lt;span class="str"&gt;'.txtStreet'&lt;/span&gt;).val());&lt;/pre&gt;

&lt;p&gt;&lt;style type="text/css"&gt;




.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;/p&gt;

&lt;p&gt;Pretty simple. Although you must remember that it can take some time in case you have a long page because it will look through all the HTML tags to find the one with the given class name. At the same time for fast execution you can specify which elements to look for, you can simply add a tag name before, for instance “input” or a jQuery attribute – “:input”:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;alert($(&lt;span class="str"&gt;'input.txtStreet'&lt;/span&gt;).val());&lt;/pre&gt;
&lt;style type="text/css"&gt;




.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;</description>
      <link>http://feedproxy.google.com/~r/mikeborozdin/~3/2F07mOPkvV4/post.aspx</link>
      <author>mike.borozdin.nospam@nospam.gmail.com (Mike Borozdin)</author>
      <comments>http://www.mikeborozdin.com/post/CSS-Class-Names-Instead-of-ASPNET-Client-IDs.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mikeborozdin.com/post.aspx?id=0616fb09-42f7-47a6-8100-afe266fcb2dc</guid>
      <pubDate>Thu, 26 Feb 2009 01:32:45 -0700</pubDate>
      <dc:publisher>Mike Borozdin</dc:publisher>
      <pingback:server>http://www.mikeborozdin.com/pingback.axd</pingback:server>
      <pingback:target>http://www.mikeborozdin.com/post.aspx?id=0616fb09-42f7-47a6-8100-afe266fcb2dc</pingback:target>
      <slash:comments>9</slash:comments>
      <trackback:ping>http://www.mikeborozdin.com/trackback.axd?id=0616fb09-42f7-47a6-8100-afe266fcb2dc</trackback:ping>
      <wfw:comment>http://www.mikeborozdin.com/post/CSS-Class-Names-Instead-of-ASPNET-Client-IDs.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mikeborozdin.com/syndication.axd?post=0616fb09-42f7-47a6-8100-afe266fcb2dc</wfw:commentRss>
    <feedburner:origLink>http://www.mikeborozdin.com/post.aspx?id=0616fb09-42f7-47a6-8100-afe266fcb2dc</feedburner:origLink></item>
    <item>
      <title>Multiple E-mail Accounts in Outlook 2007</title>
      <description>&lt;p&gt;Microsoft Office Outlook 2007 is an indeed great application. But when it comes to adding a new e-mail account one can simply feel frustrated, simply because every message received from that account will still be stored in the default account. I remember I was having a hard time after switching from Mozilla Thunderbird to Outlook when adding my e-mail accounts.&lt;/p&gt;  &lt;p&gt;Hopefully, there is a workaround – you have to add a new data file and assign it to your newly created account.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;So, if you want to a new e-mail account, go to &lt;strong&gt;Tools –&amp;gt; Options&lt;/strong&gt;, open the “E-mail” tab (it must be open by default) &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="outlook_accountsettings" border="0" alt="outlook_accountsettings" src="http://www.mikeborozdin.com/image.axd?picture=outlook_accountsettings.jpg" width="627" height="511" /&gt; &lt;/p&gt;  &lt;p&gt;and click “&lt;strong&gt;New…”&lt;/strong&gt;, the next steps are pretty clear, you just configure your mail account. &lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="outlook_newemail" border="0" alt="outlook_newemail" src="http://www.mikeborozdin.com/image.axd?picture=outlook_newemail.jpg" width="638" height="480" /&gt; &lt;/p&gt;  &lt;p&gt;However,a very important steps still awaits you.&lt;/p&gt;  &lt;p&gt;You must create a data file for your newly created e-mail account. So don’t close the “Account Setting” windows, select the account you’ve just created and click on &lt;strong&gt;“Change folder”.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="outlook_foldersettings" border="0" alt="outlook_foldersettings" src="http://www.mikeborozdin.com/image.axd?picture=outlook_foldersettings.jpg" width="417" height="346" /&gt; &lt;/p&gt;  &lt;p&gt;Now click on the “&lt;strong&gt;New Outlook Data File…”&lt;/strong&gt; button and give it a name. &lt;strong&gt;WARNING!&lt;/strong&gt; There is a temptation to give it a meaningful name like &lt;a href="mailto:&amp;ldquo;your_name@your-domain.pst"&gt;“your_name@your-domain.pst&lt;/a&gt;”, but don’t do that! Outlook will create a file, but won’t be able to assign it to your account for some reasons, so call it “yourname_yourdomain.pst”.&lt;/p&gt;  &lt;p&gt;After that you’ll finally be able to give it a meaningful name.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="personalfolder" border="0" alt="personalfolder" src="http://www.mikeborozdin.com/image.axd?picture=personalfolder.jpg" width="317" height="246" /&gt; &lt;/p&gt;  &lt;p&gt;Then, you can click &lt;strong&gt;Ok&lt;/strong&gt;. And you newly created e-mail account will have a dedicated folder, so all the mail sent to that account will lie in its folder.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/mikeborozdin/~3/81DDJCCMSsc/post.aspx</link>
      <author>mike.borozdin.nospam@nospam.gmail.com (Mike Borozdin)</author>
      <comments>http://www.mikeborozdin.com/post/Multiple-E-mail-Accounts-in-Outlook-2007.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mikeborozdin.com/post.aspx?id=c8bfab18-017b-4e2c-b284-f7c73f8f622f</guid>
      <pubDate>Mon, 23 Feb 2009 09:25:40 -0700</pubDate>
      <dc:publisher>Mike Borozdin</dc:publisher>
      <pingback:server>http://www.mikeborozdin.com/pingback.axd</pingback:server>
      <pingback:target>http://www.mikeborozdin.com/post.aspx?id=c8bfab18-017b-4e2c-b284-f7c73f8f622f</pingback:target>
      <slash:comments>13</slash:comments>
      <trackback:ping>http://www.mikeborozdin.com/trackback.axd?id=c8bfab18-017b-4e2c-b284-f7c73f8f622f</trackback:ping>
      <wfw:comment>http://www.mikeborozdin.com/post/Multiple-E-mail-Accounts-in-Outlook-2007.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mikeborozdin.com/syndication.axd?post=c8bfab18-017b-4e2c-b284-f7c73f8f622f</wfw:commentRss>
    <feedburner:origLink>http://www.mikeborozdin.com/post.aspx?id=c8bfab18-017b-4e2c-b284-f7c73f8f622f</feedburner:origLink></item>
    <item>
      <title>NetBeans 6.5 as a Cute and Free IDE for PHP</title>
      <description>&lt;p&gt;Although I mostly blog about .NET and related technologies, tools, etc., this time I’m writing about PHP. I work a lot with PHP as well. And recently I got a small project to do and I was looking for a free but cute PHP IDE. I’m quite aware about Eclipse and PHP Development Tools for Eclipse, but I still was wondering if there is some other free tool for PHP. Eventually, I remembered &lt;a href="http://www.netbeans.org" target="_blank"&gt;NetBeans&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;NetBeans is mostly known for Java developers as a good and free IDE. At the same time recently &lt;a href="http://www.netbeans.org" target="_blank"&gt;NetBeans&lt;/a&gt; started supporting other languages, like C/C++, Ruby and finally PHP. Moreover it not only supports plain PHP, but it offers quite good support of HTML and JavaScript.&lt;/p&gt;  &lt;p&gt;Ok, what do I mean by the term of “support”? I mean a standard set of features that every IDE must provide:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Project based structure &lt;/li&gt;    &lt;li&gt;Code completion &lt;/li&gt;    &lt;li&gt;Code navigator &lt;/li&gt;    &lt;li&gt;Error checking while typing &lt;/li&gt;    &lt;li&gt;Debugging &lt;/li&gt;    &lt;li&gt;Versioning &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;So, NetBeans has it all. Furthemore, it works greatly with JavaScript that was a quite a surprise for me after a while working of with Eclipse. So, NetBeans has a nice code completion feature for JavaScript as well, that will understand your and 3rd party libraries, jQuery, for instance.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="javascript" border="0" alt="javascript" src="http://www.mikeborozdin.com/image.axd?picture=javascript.jpg" width="673" height="427" /&gt; &lt;/p&gt;  &lt;p&gt;Then, NetBeans enables you to interact with databases straight from the IDE. You can connect to MySQL server and create a table for example.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="createtable" border="0" alt="createtable" src="http://www.mikeborozdin.com/image.axd?picture=createtable.jpg" width="646" height="319" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Generally, I feel pretty good about NetBeans. It seems to be working much faster than Eclipse, both in terms of the loading time and in terms of code editing and code completion as well. I guess I’d better draw a comprehensive feature comparison with Eclipse PDT, but I will do that next time.&lt;/p&gt;  &lt;p&gt;Now I just want to recommend anyone who is looking for a decent free IDE for PHP to give &lt;a href="http://www.netbeans.org" target="_blank"&gt;NetBeans&lt;/a&gt; a try. If you don’t need to write Java code, you can download a PHP only package that is just about 25 MB that is far lighter than the mentioned PDT.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/mikeborozdin/~3/AmuS2qJ-wIg/post.aspx</link>
      <author>mike.borozdin.nospam@nospam.gmail.com (Mike Borozdin)</author>
      <comments>http://www.mikeborozdin.com/post/NetBeans-65-as-a-Cute-and-free-IDE-for-PHP.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mikeborozdin.com/post.aspx?id=7f514e50-a532-4ec0-80c8-72e1cd777834</guid>
      <pubDate>Sat, 07 Feb 2009 14:50:35 -0700</pubDate>
      <dc:publisher>Mike Borozdin</dc:publisher>
      <pingback:server>http://www.mikeborozdin.com/pingback.axd</pingback:server>
      <pingback:target>http://www.mikeborozdin.com/post.aspx?id=7f514e50-a532-4ec0-80c8-72e1cd777834</pingback:target>
      <slash:comments>32</slash:comments>
      <trackback:ping>http://www.mikeborozdin.com/trackback.axd?id=7f514e50-a532-4ec0-80c8-72e1cd777834</trackback:ping>
      <wfw:comment>http://www.mikeborozdin.com/post/NetBeans-65-as-a-Cute-and-free-IDE-for-PHP.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mikeborozdin.com/syndication.axd?post=7f514e50-a532-4ec0-80c8-72e1cd777834</wfw:commentRss>
    <feedburner:origLink>http://www.mikeborozdin.com/post.aspx?id=7f514e50-a532-4ec0-80c8-72e1cd777834</feedburner:origLink></item>
    <item>
      <title>Do You Suffer From Information Overload?</title>
      <description>&lt;p&gt;Do you ever feel surrounded by tons of information that you think you don’t have time to consume? I guess everyone remembers that feeling when you are glancing at your RSS reader and say to yourself: “Jeez, that’s really interesting, all that new development tools and useful refactoring patterns, but I don’t really have time for that, I need to finish my project, cause the deadline is coming”. In addition, there are also very interesting things that go around us, including Facebook updates from your friends, new photos from your Flickr pals and fresh tweets from your mates. In contrast to that *serious* news on software development, we always tend to read updates from our friends, moreover we become addicted to that kind of news, so we are constantly checking our e-mails, reply to instant messages and so on. In the mean time we still have to work and have normal rest away from the computer :)!&lt;/p&gt;  &lt;p&gt;That’s crazy, I must say. We have so many different things that are meant to make our life easier, but we don’t work less, we don’t have have to absorb less amount of information, in fact that amount increases.&lt;/p&gt;  &lt;p&gt;I don’t imply that services like Twitter are bad and only make us addicts, nope. I just think that we should use them smartly in a way that lets us get a benefit from using them, not to become their brainless slaves.&lt;/p&gt;  &lt;p&gt;There are already dozens of articles and discussion on this matter on the Net, for instance, there is an article on Wikipedia on information overload that defines it as:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;b&gt;Information overload&lt;/b&gt; refers to an excess amount of information being provided, making processing and absorbing tasks very difficult sue to excessive seemingly irrelevant information&lt;sup&gt;&lt;a href="http://en.wikipedia.org/#cite_note-0"&gt;[1]&lt;/a&gt;&lt;/sup&gt;. As the world globalizes, more people use the internet to conduct their own research &lt;sup&gt;&lt;a href="http://en.wikipedia.org/#cite_note-1"&gt;[2]&lt;/a&gt;&lt;/sup&gt; and produce and consume in increasing quantities&lt;sup&gt;&lt;a href="http://en.wikipedia.org/#cite_note-2"&gt;[3]&lt;/a&gt;&lt;/sup&gt;&lt;sup&gt;&lt;a href="http://en.wikipedia.org/#cite_note-3"&gt;[4]&lt;/a&gt;&lt;/sup&gt;. As of 2007 there were over 108 million websites&lt;sup&gt;&lt;a href="http://en.wikipedia.org/#cite_note-4"&gt;[5]&lt;/a&gt;&lt;/sup&gt;. Users are active &lt;sup&gt;&lt;a href="http://en.wikipedia.org/#cite_note-5"&gt;[6]&lt;/a&gt;&lt;/sup&gt;editors&lt;sup&gt;&lt;a href="http://en.wikipedia.org/#cite_note-6"&gt;[7]&lt;/a&gt;&lt;/sup&gt; in the &lt;/em&gt;&lt;a href="http://en.wikipedia.org/w/index.php?title=Digital_and_Information_Age&amp;amp;action=edit&amp;amp;redlink=1"&gt;&lt;em&gt;Digital and Information Age&lt;/em&gt;&lt;/a&gt;&lt;em&gt; &lt;sup&gt;&lt;a href="http://en.wikipedia.org/#cite_note-7"&gt;[8]&lt;/a&gt;&lt;/sup&gt;. As we are dependant on access to information,&lt;sup&gt;[&lt;a href="http://en.wikipedia.org/wiki/Wikipedia:Citation_needed"&gt;citation needed&lt;/a&gt;]&lt;/sup&gt;&lt;sup&gt;&lt;a href="http://en.wikipedia.org/#cite_note-8"&gt;[9]&lt;/a&gt;&lt;/sup&gt;&lt;sup&gt;&lt;a href="http://en.wikipedia.org/#cite_note-9"&gt;[10]&lt;/a&gt;&lt;/sup&gt; we are overloaded by a large constant flow of information.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;It’s pretty clear, I think. We do really have more information sources and information itself that we can absorb. And information becomes a distracting factor that prevents us from being productive and even puts a stress on us. Sure, we must avoid that and use information sources wisely in a way that enables us to work more efficiently.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/mikeborozdin/~3/FhiVFAdf-Ww/post.aspx</link>
      <author>mike.borozdin.nospam@nospam.gmail.com (Mike Borozdin)</author>
      <comments>http://www.mikeborozdin.com/post/Do-You-Suffer-From-Information-Overload.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mikeborozdin.com/post.aspx?id=24348280-59dd-4e0c-bdb8-a3a1e2fb0940</guid>
      <pubDate>Thu, 05 Feb 2009 11:17:24 -0700</pubDate>
      <dc:publisher>Mike Borozdin</dc:publisher>
      <pingback:server>http://www.mikeborozdin.com/pingback.axd</pingback:server>
      <pingback:target>http://www.mikeborozdin.com/post.aspx?id=24348280-59dd-4e0c-bdb8-a3a1e2fb0940</pingback:target>
      <slash:comments>13</slash:comments>
      <trackback:ping>http://www.mikeborozdin.com/trackback.axd?id=24348280-59dd-4e0c-bdb8-a3a1e2fb0940</trackback:ping>
      <wfw:comment>http://www.mikeborozdin.com/post/Do-You-Suffer-From-Information-Overload.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mikeborozdin.com/syndication.axd?post=24348280-59dd-4e0c-bdb8-a3a1e2fb0940</wfw:commentRss>
    <feedburner:origLink>http://www.mikeborozdin.com/post.aspx?id=24348280-59dd-4e0c-bdb8-a3a1e2fb0940</feedburner:origLink></item>
    <item>
      <title>Send Your Feedback about Internet Explorer 8 and Other Beta Products</title>
      <description>&lt;p&gt;I must admit perhaps I was too rude when I was describing the glitches with IE8 Beta 2 usability. First of all, it was beta which purpose was to demonstrate new features and gather feedback, but no to present a completely finished product. Second, it were my own thoughts, but still IE remains the most popular browser on the Net and people must find it useable, since they use it.&lt;/p&gt;  &lt;p&gt;Anyway, Internet Explorer 8 Release Candidate 1 is available now, which means that there won’t be any new functionality in the release, however if they find any bugs in the current RC, they will fix them and make RC2 available for public.&lt;/p&gt;  &lt;p&gt;So, if you want to submit any bug report of feature request, I strongly advice you take part in the Microsoft Connect program that allows you to send feedback about their beta products, including Windows Azure, Windows 7, IE8 and many other products. Just navigate your browser to &lt;a href="http://connect.microsoft.com/" target="_blank"&gt;connect.microsoft.com&lt;/a&gt;, sign-in with your Live ID and choose an appropriate program. It’s advisable to search through the database before submitting your bug report or a suggestions, because it’s likely that other people have already spotted that bug and complained about it or came up with the same feature request.&lt;/p&gt;  &lt;p&gt;Participating in such programs and sending feedbacks allows Microsoft to make better products that you will like ;-)!&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/mikeborozdin/~3/XKUeNAl5ZGM/post.aspx</link>
      <author>mike.borozdin.nospam@nospam.gmail.com (Mike Borozdin)</author>
      <comments>http://www.mikeborozdin.com/post/Send-Your-Feedback-about-Internet-Explorer-8-and-Other-Beta-Products.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mikeborozdin.com/post.aspx?id=856b6f10-8f67-4093-970e-0e71a6010c68</guid>
      <pubDate>Fri, 30 Jan 2009 01:09:42 -0700</pubDate>
      <dc:publisher>Mike Borozdin</dc:publisher>
      <pingback:server>http://www.mikeborozdin.com/pingback.axd</pingback:server>
      <pingback:target>http://www.mikeborozdin.com/post.aspx?id=856b6f10-8f67-4093-970e-0e71a6010c68</pingback:target>
      <slash:comments>17</slash:comments>
      <trackback:ping>http://www.mikeborozdin.com/trackback.axd?id=856b6f10-8f67-4093-970e-0e71a6010c68</trackback:ping>
      <wfw:comment>http://www.mikeborozdin.com/post/Send-Your-Feedback-about-Internet-Explorer-8-and-Other-Beta-Products.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mikeborozdin.com/syndication.axd?post=856b6f10-8f67-4093-970e-0e71a6010c68</wfw:commentRss>
    <feedburner:origLink>http://www.mikeborozdin.com/post.aspx?id=856b6f10-8f67-4093-970e-0e71a6010c68</feedburner:origLink></item>
    <item>
      <title>Free Entity Framework Learning Guide</title>
      <description>&lt;p&gt;I came across a wonderful learning guide for the Entity Framework that explains many essential and complex things about the Entity Framework, including:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Modeling Entities &lt;/li&gt;    &lt;li&gt;Lazy Loading &lt;/li&gt;    &lt;li&gt;Inheritance &lt;/li&gt;    &lt;li&gt;Working with objects &lt;/li&gt;    &lt;li&gt;Performance &lt;/li&gt;    &lt;li&gt;Working with Stored Procedures &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Moreover this 500 pages long learning guide is absolutely free and can be downloaded &lt;a target="_blank" href="http://weblogs.asp.net/zeeshanhirani/archive/2008/12/18/my-christmas-present-to-the-entity-framework-community.aspx"&gt;here&lt;/a&gt; with all examples.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://weblogs.asp.net/zeeshanhirani/archive/2008/12/18/my-christmas-present-to-the-entity-framework-community.aspx" href="http://weblogs.asp.net/zeeshanhirani/archive/2008/12/18/my-christmas-present-to-the-entity-framework-community.aspx"&gt;http://weblogs.asp.net/zeeshanhirani/archive/2008/12/18/my-christmas-present-to-the-entity-framework-community.aspx&lt;/a&gt;&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/mikeborozdin/~3/6O6vvwLUV8s/post.aspx</link>
      <author>mike.borozdin.nospam@nospam.gmail.com (Mike Borozdin)</author>
      <comments>http://www.mikeborozdin.com/post/Free-Entity-Framework-Learning-Guide.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mikeborozdin.com/post.aspx?id=f548a78c-b17c-4501-9c49-2d276d6f07e3</guid>
      <pubDate>Mon, 19 Jan 2009 02:02:01 -0700</pubDate>
      <dc:publisher>Mike Borozdin</dc:publisher>
      <pingback:server>http://www.mikeborozdin.com/pingback.axd</pingback:server>
      <pingback:target>http://www.mikeborozdin.com/post.aspx?id=f548a78c-b17c-4501-9c49-2d276d6f07e3</pingback:target>
      <slash:comments>11</slash:comments>
      <trackback:ping>http://www.mikeborozdin.com/trackback.axd?id=f548a78c-b17c-4501-9c49-2d276d6f07e3</trackback:ping>
      <wfw:comment>http://www.mikeborozdin.com/post/Free-Entity-Framework-Learning-Guide.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mikeborozdin.com/syndication.axd?post=f548a78c-b17c-4501-9c49-2d276d6f07e3</wfw:commentRss>
    <feedburner:origLink>http://www.mikeborozdin.com/post.aspx?id=f548a78c-b17c-4501-9c49-2d276d6f07e3</feedburner:origLink></item>
    <item>
      <title>Thoughts on Internet Explorer 8 Usability</title>
      <description>&lt;p&gt;Well, Internet Explorer 8 is in the beta phase only, so it may be to early to judge it and make any conclusion. Anyway, I have some thoughts I want to share.&lt;/p&gt;  &lt;p&gt;I’ve been a long time Firefox user, even though I cannot say anything bad about IE, unlike some other people who always tend to whine about it, I was just used to Firefox, anyway, I decided to try IE 8 Beta 1 and now I’m using Beta 2. It looked very promising to me. It passed the Acid2 Test, it has the Developers Tools and a built-in JavaScript debugger. So, Microsoft intends to release a more developer oriented browser that may surprise many web developers who have a bad opinion about Microsoft as a company that produced a very crappy browser and simply don’t care much about web standards and web at all. It’s not right, of course.&lt;/p&gt;  &lt;p&gt;Anyway, this time I’m going to talk about features that are oriented not only for developers but for everybody. And Internet Explorer 8 has something to offer, starting from Web Slices, Accelerators that allow you to get content without loading a new page, for instance, you can easily look up a word in a dictionary or find a place on the map&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.mikeborozdin.com/image.axd?picture=3.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="3" border="0" alt="3" src="http://www.mikeborozdin.com/image.axd?picture=3_thumb.jpg" width="242" height="133" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;and InPrivate browsing. But I as a Firefox user was surprised that IE lacked some essential features, at least I got used to them when using Firefox. For example, I cannot simply copy an e-mail address, in Firefox I would right-click on the e-mail and choose “Copy Email Address”, in IE8 I can only copy the full address beginning with “mailto:”. Then, I cannot just copy the URL of a picture,&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="1" border="0" alt="1" src="http://www.mikeborozdin.com/image.axd?picture=1.jpg" width="242" height="38" /&gt; &lt;/p&gt;  &lt;p&gt;instead I have to go to “Properties”, select its address and then copy.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://www.mikeborozdin.com/image.axd?picture=2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2" border="0" alt="2" src="http://www.mikeborozdin.com/image.axd?picture=2_thumb.jpg" width="236" height="25" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.mikeborozdin.com/image.axd?picture=image.png" width="242" height="39" /&gt; &lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Brrr… That’s nasty. I believe there are some other things that drive me crazy, but at the moment I can’t remember them.&lt;/p&gt;  &lt;p&gt;Yep, I have just remembered yet another glitch, middle-click that should open a page in a new tab doesn’t work when I open page from the favourites menu…&lt;/p&gt;  &lt;p&gt;Moreover, there are the developer tools, a JavaScript debugger, a good source viewer, but there’s no shortcut for source viewing, in Firefox I would simply press CTRL+U, in IE I’m constantly hitting the same combination and realize that I have to right-click and choose “View source”.&lt;/p&gt;  &lt;p&gt;Well, these things are just minors glitches, but I think these minor things are very important. If one is used to the same set of convenient features in one browser, then it’s a good idea to implement them in another. I hope, the final version of Internet Explorer 8 will have great usability and it will a really great browser that everyone will enjoy :-)!&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/mikeborozdin/~3/-Kd78a5aOag/post.aspx</link>
      <author>mike.borozdin.nospam@nospam.gmail.com (Mike Borozdin)</author>
      <comments>http://www.mikeborozdin.com/post/Thoughts-on-Internet-Explorer-8-Usability.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mikeborozdin.com/post.aspx?id=480a650c-56dc-40f0-9fca-b856d21f39d6</guid>
      <pubDate>Sat, 17 Jan 2009 16:08:57 -0700</pubDate>
      <dc:publisher>Mike Borozdin</dc:publisher>
      <pingback:server>http://www.mikeborozdin.com/pingback.axd</pingback:server>
      <pingback:target>http://www.mikeborozdin.com/post.aspx?id=480a650c-56dc-40f0-9fca-b856d21f39d6</pingback:target>
      <slash:comments>13</slash:comments>
      <trackback:ping>http://www.mikeborozdin.com/trackback.axd?id=480a650c-56dc-40f0-9fca-b856d21f39d6</trackback:ping>
      <wfw:comment>http://www.mikeborozdin.com/post/Thoughts-on-Internet-Explorer-8-Usability.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mikeborozdin.com/syndication.axd?post=480a650c-56dc-40f0-9fca-b856d21f39d6</wfw:commentRss>
    <feedburner:origLink>http://www.mikeborozdin.com/post.aspx?id=480a650c-56dc-40f0-9fca-b856d21f39d6</feedburner:origLink></item>
    <item>
      <title>Understanding Attaching/Detaching Objects in LINQ to SQL and in the Entity Framework</title>
      <description>&lt;p&gt;LINQ to SQL and the Entity Framework are very powerful tools, however as in many other useful tools there are some things you should be aware of when working with them. One of those things is object attaching and detaching. Let’s have a concrete example.&lt;/p&gt;  &lt;p&gt;As you already know, you can retrieve an object from the database, update or remove it and all the necessary changes will be submitted to the database. &lt;/p&gt;  &lt;p&gt;But what if you don’t want to perform additional SELECT query? Instead, you want just to perform one necessary query, either to update an object or remove it&lt;/p&gt;  &lt;p&gt;Well, a quite logical idea is to create an object, set an appropriate ID attribute and then update/delete it:&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;NorthwindDataContext db = &lt;span class="kwrd"&gt;new&lt;/span&gt; NorthwindDataContext();&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;Product product = &lt;span class="kwrd"&gt;new&lt;/span&gt; Product { ProductID = 1 };&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;db.Products.DeleteOnSubmit(product);&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;db.SubmitChanges();&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;






.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Okay, but it won’t work. The code will gets compiled, but when executed it will throw an exception stating: “&lt;strong&gt;Cannot remove an entity that has not been attached.&lt;/strong&gt;” Well, in fact, it’s quite obvious, because the object context is simply unaware of that object, so let it know about the object. We just need to attach the object to the object context:&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;NorthwindDataContext db = &lt;span class="kwrd"&gt;new&lt;/span&gt; NorthwindDataContext();&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;Product product = &lt;span class="kwrd"&gt;new&lt;/span&gt; Product { ProductID = 1 };&lt;/pre&gt;

  &lt;pre&gt;db.Products.Attach(product); &lt;span class="rem"&gt;//that necessary line&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;db.Products.DeleteOnSubmit(product);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;db.SubmitChanges();&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;






.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;So, if you compile it now, you will get no exceptions and the necessary product will be removed from the database. You can use the same technique when you need to update an object without having to retrieve it from the database and the same thing applies to the Entity Framework, although the code is slightly different:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;NorthwindEntities db = &lt;span class="kwrd"&gt;new&lt;/span&gt; NorthwindEntities();

Product product = &lt;span class="kwrd"&gt;new&lt;/span&gt; Product { ProductID = 10 };
product.EntityKey = &lt;span class="kwrd"&gt;new&lt;/span&gt; EntityKey(&amp;quot;NorthwindEntities.Products&amp;quot;, &amp;quot;ProductID&amp;quot;, 10);&lt;/pre&gt;

&lt;pre class="csharpcode"&gt;db.Attach(product);

db.DeleteObject(product);

db.SaveChanges();&lt;/pre&gt;
&lt;style type="text/css"&gt;





.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;</description>
      <link>http://feedproxy.google.com/~r/mikeborozdin/~3/HHdDOzSaAQ8/post.aspx</link>
      <author>mike.borozdin.nospam@nospam.gmail.com (Mike Borozdin)</author>
      <comments>http://www.mikeborozdin.com/post/Understanding-AttachingDetaching-Objects-in-LINQ-to-SQL-and-in-the-Entity-Framework.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mikeborozdin.com/post.aspx?id=4b9f5178-6d5c-404f-ad2c-8dcc20c51fb7</guid>
      <pubDate>Thu, 15 Jan 2009 04:12:31 -0700</pubDate>
      <dc:publisher>Mike Borozdin</dc:publisher>
      <pingback:server>http://www.mikeborozdin.com/pingback.axd</pingback:server>
      <pingback:target>http://www.mikeborozdin.com/post.aspx?id=4b9f5178-6d5c-404f-ad2c-8dcc20c51fb7</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.mikeborozdin.com/trackback.axd?id=4b9f5178-6d5c-404f-ad2c-8dcc20c51fb7</trackback:ping>
      <wfw:comment>http://www.mikeborozdin.com/post/Understanding-AttachingDetaching-Objects-in-LINQ-to-SQL-and-in-the-Entity-Framework.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mikeborozdin.com/syndication.axd?post=4b9f5178-6d5c-404f-ad2c-8dcc20c51fb7</wfw:commentRss>
    <feedburner:origLink>http://www.mikeborozdin.com/post.aspx?id=4b9f5178-6d5c-404f-ad2c-8dcc20c51fb7</feedburner:origLink></item>
    <item>
      <title>The List of the LINQ to SQL and Entity Framework Providers</title>
      <description>&lt;p&gt;If you are using Microsoft SQL Server you don’t experience any problems, SQL Server are supported by both LINQ to SQL and the Entity Framework. Frankly speaking, it couldn’t be otherwise, since they all are made by Microsoft.&lt;/p&gt;  &lt;p&gt;However, if you are using a non-Microsoft database engine, it’s certainly worth knowing if you can use LINQ to SQL or the Entity Framework with it. Moreover, it’s always better if there is native support.&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="538"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="101"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="60"&gt;&lt;strong&gt;LINQ to SQL (native)&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="128"&gt;&lt;strong&gt;LINQ to SQL (3rd party)&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="77"&gt;&lt;strong&gt;Entity Framework (native)&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="171"&gt;&lt;strong&gt;Entity Framework            &lt;br /&gt;(3rd party)&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="101"&gt;&lt;strong&gt;SQL Server&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="60"&gt;Yes&lt;/td&gt;        &lt;td valign="top" width="127"&gt;who cares?&lt;/td&gt;        &lt;td valign="top" width="81"&gt;Yes&lt;/td&gt;        &lt;td valign="top" width="169"&gt;who cares?&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="101"&gt;&lt;strong&gt;SQl Server CE&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="60"&gt;Yes&lt;/td&gt;        &lt;td valign="top" width="127"&gt;who cares?&lt;/td&gt;        &lt;td valign="top" width="81"&gt;Yes&lt;/td&gt;        &lt;td valign="top" width="169"&gt;who cares&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="101"&gt;&lt;strong&gt;Oracle&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="60"&gt;No&lt;/td&gt;        &lt;td valign="top" width="125"&gt;&lt;a href="http://code2code.net/DB_Linq/" target="_blank"&gt;DBLinq&lt;/a&gt;           &lt;br /&gt;&lt;a href="http://www.codeplex.com/LinqToOracle" target="_blank"&gt;LINQ to Oracle&lt;/a&gt;           &lt;br /&gt;&lt;a href="http://www.mindscape.co.nz/products/LightSpeed/" target="_blank"&gt;LightSpeed&lt;/a&gt;           &lt;br /&gt;&lt;a href="http://devart.com/dotconnect/" target="_blank"&gt;dotConnect&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="84"&gt;Yes&lt;/td&gt;        &lt;td valign="top" width="167"&gt;&lt;a href="http://devart.com/dotconnect/" target="_blank"&gt;dotConnect&lt;/a&gt;           &lt;br /&gt;&lt;a href="http://code.msdn.microsoft.com/EFOracleProvider" target="_blank"&gt;EFOracle&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="101"&gt;&lt;strong&gt;DB2&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="60"&gt;No&lt;/td&gt;        &lt;td valign="top" width="125"&gt;?&lt;/td&gt;        &lt;td valign="top" width="85"&gt;Yes&lt;/td&gt;        &lt;td valign="top" width="167"&gt;?&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="101"&gt;&lt;strong&gt;MySQL&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="60"&gt;No&lt;/td&gt;        &lt;td valign="top" width="125"&gt;&lt;a href="http://code2code.net/DB_Linq/" target="_blank"&gt;DBLinq&lt;/a&gt;           &lt;br /&gt;&lt;a href="http://www.mindscape.co.nz/products/LightSpeed/" target="_blank"&gt;LightSpeed&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="85"&gt;Planned&lt;/td&gt;        &lt;td valign="top" width="167"&gt;&lt;a href="http://devart.com/dotconnect/" target="_blank"&gt;dotConnect&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="101"&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="60"&gt;No&lt;/td&gt;        &lt;td valign="top" width="126"&gt;&lt;a href="http://pgfoundry.org/projects/npgsql/" target="_blank"&gt;Npgsql&lt;/a&gt;&lt;a href="http://code2code.net/DB_Linq/" target="_blank"&gt;            &lt;br /&gt;DBLinq&lt;/a&gt;           &lt;br /&gt;&lt;a href="http://www.mindscape.co.nz/products/LightSpeed/" target="_blank"&gt;LightSpeed&lt;/a&gt;           &lt;br /&gt;&lt;a href="http://devart.com/dotconnect/" target="_blank"&gt;dotConnect&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="86"&gt;No&lt;/td&gt;        &lt;td valign="top" width="176"&gt;&lt;a href="http://pgfoundry.org/projects/npgsql/" target="_blank"&gt;Npgsql&lt;/a&gt;&lt;a href="http://devart.com/dotconnect/" target="_blank"&gt;            &lt;br /&gt;dotConnect&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;According to the table, the Entity Framework is natively supported by a greater number of databases than plain LINQ to SQL. Anyway, if you cannot find a native provider, you can always find a 3rd party one, but you must remember that some of them are not free and/or may lack some features.&lt;/p&gt;  &lt;p&gt;Feel free to correct this table, if it contains a mistake and comment on individual providers. It’s reasonable to keep this list comprehensive. Although I wish every major database would have native support of both technologies.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/mikeborozdin/~3/cdBpRpu_V8o/post.aspx</link>
      <author>mike.borozdin.nospam@nospam.gmail.com (Mike Borozdin)</author>
      <comments>http://www.mikeborozdin.com/post/The-List-of-LINQ-to-SQL-and-Entity-Framework-Providers.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mikeborozdin.com/post.aspx?id=20dac216-d710-4d1a-95e2-bf086c0f1220</guid>
      <pubDate>Tue, 06 Jan 2009 13:10:00 -0700</pubDate>
      <dc:publisher>Mike Borozdin</dc:publisher>
      <pingback:server>http://www.mikeborozdin.com/pingback.axd</pingback:server>
      <pingback:target>http://www.mikeborozdin.com/post.aspx?id=20dac216-d710-4d1a-95e2-bf086c0f1220</pingback:target>
      <slash:comments>7</slash:comments>
      <trackback:ping>http://www.mikeborozdin.com/trackback.axd?id=20dac216-d710-4d1a-95e2-bf086c0f1220</trackback:ping>
      <wfw:comment>http://www.mikeborozdin.com/post/The-List-of-LINQ-to-SQL-and-Entity-Framework-Providers.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mikeborozdin.com/syndication.axd?post=20dac216-d710-4d1a-95e2-bf086c0f1220</wfw:commentRss>
    <feedburner:origLink>http://www.mikeborozdin.com/post.aspx?id=20dac216-d710-4d1a-95e2-bf086c0f1220</feedburner:origLink></item>
    <item>
      <title>Creating Entity Framework Driven ASP.NET Application</title>
      <description>&lt;h2&gt;Introduction&lt;/h2&gt;  &lt;p&gt;I have already written several posts on the Entity Framework where I described the power of this particular ORM tool. I also mentioned the book on the Entity Framework written by a Microsoft MVP - Joydip Kanjila. This time I will publish an extract from the book that shows how you can build ASP.NET application by using the Entity Framework and the EntityDataSource control. It can also give a glimpse of the Entity Framework is, if you have no experience in it.&lt;/p&gt;  &lt;p&gt;The tutorial covers the following topics:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Creating the Entity Data Model by using a graphical utility built-in Visual Studio 2008 SP1 &lt;/li&gt;    &lt;li&gt;Creating the Entity Data Model by using a command line utility &lt;/li&gt;    &lt;li&gt;Using the EntityDataSource ASP.NET control &lt;/li&gt;    &lt;li&gt;Displaying the data in a GridView &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This tutorial uses a particular database, but in fact you can use any database you already have.&lt;/p&gt;  &lt;h2&gt;Creating an Entity Data Model. &lt;/h2&gt;  &lt;p&gt;You can create the ADO.NET Entity Data Model in one of the two ways:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Use the ADO.NET Entity Data Model Designer &lt;/li&gt;    &lt;li&gt;Use the command line Entity Data Model Designer called EdmGen.exe &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;We will first take a look at how we can design an Entity Data Model using the ADO.NET Entity Data Model Designer which is a Visual Studio wizard that is enabled after you install ADO.NET Entity Framework and its tools. It provides a graphical interface that you can use to generate an Entity Data Model.&lt;/p&gt;  &lt;h2&gt;Creating the Payroll Entity Data Model using the ADO.NET Entity Data Model Designer&lt;/h2&gt;  &lt;p&gt;Here are the tables of the 'Payroll' database that we will use to generate the data model:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Employee &lt;/li&gt;    &lt;li&gt;Designation &lt;/li&gt;    &lt;li&gt;Department &lt;/li&gt;    &lt;li&gt;Salary &lt;/li&gt;    &lt;li&gt;ProvidentFund &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;To create an entity data model using the ADO.NET Entity Data Model Designer, follow these simple steps:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Open Visual Studio.NET and create a solution for a new web application project as seen below and save with a name.      &lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image1.png" /&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;Switch to the Solution Explorer, right click and click on &lt;strong&gt;Add New Item&lt;/strong&gt; as seen in the following screenshot:       &lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image2.png" /&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;Next, select &lt;strong&gt;ADO.NET Entity Data Model&lt;/strong&gt; from the list of the templates displayed as shown in the following screenshot:       &lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image3.png" /&gt;&lt;/p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/li&gt;    &lt;li&gt;Name the Entity Data Model &lt;strong&gt;PayrollModel&lt;/strong&gt; and click on &lt;strong&gt;Add&lt;/strong&gt;. &lt;/li&gt;    &lt;li&gt;Select &lt;strong&gt;Generate from database&lt;/strong&gt; from the Entity Data Model Wizard as shown in the following screenshot:       &lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image4.png" /&gt;&lt;/p&gt;      &lt;p&gt;Note that you can also use the Empty model template to create the Entity Data Model yourself. &lt;/p&gt;      &lt;p&gt;If you select the Empty Data Model template and click on next, the following screen appears:&lt;/p&gt;      &lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image5.png" /&gt;&lt;/p&gt;      &lt;p&gt;As you can see from the above figure, you can use this template to create the Entity Data Model yourself. You can create the Entity Types and their relationships manually by dragging items from the toolbox. We will not use this template in our discussion here. So, let's get to the next step.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;Click on &lt;strong&gt;Next&lt;/strong&gt; in the Entity Data Model Wizard window shown earlier. &lt;/li&gt;    &lt;li&gt;The modal dialog box will now appear and prompts you to choose your connection as shown in the following figure:      &lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image6.png" /&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;Click on &lt;strong&gt;New Connection&lt;/strong&gt; Now you will need to specify the connection properties and parameters as shown in the following figure:       &lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image7.png" /&gt;&lt;/p&gt;      &lt;p style="margin-left: 40px; margin-right: 40px"&gt;&lt;em&gt;We will use a dot to specify the database server name. This implies that we will be using the database server of the localhost, which is the current system in use.&lt;/em&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;After you specify the necessary user name, password, and the server name, you can test your connection using the &lt;strong&gt;Test Connection&lt;/strong&gt; button. When you do so, the message &lt;strong&gt;Test connection succeeded&lt;/strong&gt; gets displayed in the message box as shown in the previous figure. &lt;/li&gt;    &lt;li&gt;When you click on &lt;strong&gt;OK&lt;/strong&gt; on the Test connection dialog box, the following screen appears:       &lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image8.png" /&gt;&lt;/p&gt;      &lt;p&gt;Note the Entity Connection String generated automatically. This connection string will be saved in the ConnectionStrings section of your application's &lt;em&gt;web.config&lt;/em&gt; file. This is how it will look like:         &lt;br /&gt;&lt;/p&gt;      &lt;ol&gt;       &lt;pre&gt;&amp;lt;connectionStrings&amp;gt; &lt;br /&gt;&amp;lt;add name=&amp;quot;PayrollEntities&amp;quot; connectionString=&amp;quot;metadata=res:// *;&lt;br /&gt;provider=System.Data.SqlClient;provider connection string=&amp;amp;quot;&lt;br /&gt;Data Source=.;Initial Catalog=Payroll;User ID=sa;Password=joydip1@3;&lt;br /&gt;MultipleActiveResultSets=True&amp;amp;quot;&amp;quot; providerName=&amp;quot;System.Data.EntityClient&amp;quot; /&amp;gt; &lt;br /&gt;&amp;lt;/connectionStrings&amp;gt;&lt;br /&gt;&lt;/pre&gt;
    &lt;/ol&gt;
  &lt;/li&gt;

  &lt;li&gt;When you click on &lt;strong&gt;Next&lt;/strong&gt; in the previous figure, the following screen appears: 

    &lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image9.png" /&gt;&lt;/p&gt;
  &lt;/li&gt;

  &lt;li&gt;Expand the &lt;strong&gt;Tables&lt;/strong&gt; node and specify the database objects that you require in the Entity Data Model to be generated as shown in the following figure: 

    &lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image10.png" /&gt;&lt;/p&gt;
  &lt;/li&gt;

  &lt;li&gt;Click on &lt;strong&gt;Finish&lt;/strong&gt; to generate the Entity Data Model. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here is the output displayed in the Output Window while the Entity Data Model is being generated:&lt;/p&gt;

&lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image11.png" /&gt;&lt;/p&gt;

&lt;p&gt;Your Entity Data Model has been generated and saved in a file named &lt;em&gt;PayrollModel.edmx&lt;/em&gt;. We are done creating our first Entity Data Model using the ADO.NET Entity Data Model Designer tool.&lt;/p&gt;

&lt;p&gt;When you open the Payroll Entity Data Model that we just created in the designer view, it will appear as shown in the following figure:&lt;/p&gt;

&lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image12.png" /&gt;&lt;/p&gt;

&lt;p&gt;Note how the Entity Types in the above model are related to one another. These relationships have been generated automatically by the Entity Data Model Designer based on the relationships between the tables of the Payroll database.&lt;/p&gt;

&lt;p&gt;In the next section, we will learn how we can create an Entity Data Model using the EdmGen.exe command line tool.&lt;/p&gt;

&lt;h2&gt;Creating the Payroll Data Model Using the EdmGen Tool&lt;/h2&gt;

&lt;p&gt;We will now take a look at how to create a data model using the Entity Data Model generation tool called EdmGen.&lt;/p&gt;

&lt;p&gt;The EdmGen.exe command line tool can be used to do one or more of the following:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Generate the &lt;em&gt;.cdsl&lt;/em&gt;, &lt;em&gt;.msl&lt;/em&gt;, and &lt;em&gt;.ssdl&lt;/em&gt; files as part of the Entity Data Model &lt;/li&gt;

  &lt;li&gt;Generate object classes from a &lt;em&gt;.csdl&lt;/em&gt; file &lt;/li&gt;

  &lt;li&gt;Validate an Entity Data Model &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The EdmGen.exe command line tool generates the Entity Data Model as a set of three files: &lt;em&gt;.csdl&lt;/em&gt;, &lt;em&gt;.msl&lt;/em&gt;, and &lt;em&gt;.ssdl&lt;/em&gt;. If you have used the ADO.NET Entity Data Model Designer to generate your Entity Data Model, the &lt;em&gt;.edmx&lt;/em&gt; file generated will contain the CSDL, MSL, and the SSDL sections. You will have a single &lt;em&gt;.edmx&lt;/em&gt; file that bundles all of these sections into it. On the other hand, if you use the EdmGen.exe tool to generate the Entity Data Model, you would find three distinctly separate files with &lt;em&gt;.csdl&lt;/em&gt;, &lt;em&gt;.msl&lt;/em&gt; or &lt;em&gt;.ssdl &lt;/em&gt;extensions.&lt;/p&gt;

&lt;p&gt;Here is a list of the major options of the EdmGen.exe command line tool:&lt;/p&gt;

&lt;p style="text-align: center"&gt;&lt;/p&gt;

&lt;div align="center"&gt;
  &lt;table style="border-bottom: medium none; border-left: medium none; border-collapse: collapse; border-top: medium none; border-right: medium none" class="MsoNormalTable" border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;
      &lt;tr style="height: 12.9pt"&gt;
        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 12.9pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;Option&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;

        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 12.9pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;Description&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="height: 24.15pt"&gt;
        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;/help&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;

        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;Use this option to display help on all the possible options of this tool. The short form is &lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;/?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="height: 24.15pt"&gt;
        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;/language:CSharp&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;

        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;Use this option to generate code using C# language&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="height: 24.15pt"&gt;
        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;/language:VB&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;

        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;Use this option to generate code using VB language&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="height: 24.15pt"&gt;
        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;/provider:&amp;lt;string&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;

        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;Use this option to specify the name of the ADO.NET data provider that you would like to use.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="height: 30.65pt"&gt;
        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 30.65pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;/connectionstring:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;&amp;lt;connection string&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;

        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 30.65pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;Use this option to specify the connection string to be used to connect to the database&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="height: 24.15pt"&gt;
        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;/namespace:&amp;lt;string&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;

        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;Use this option to specify the name of the namespace&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="height: 24.15pt"&gt;
        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;/mode:FullGeneration&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;

        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;Use this option to generate your CSDL, MSL, and SSDL objects from the database schema&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="height: 24.15pt"&gt;
        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;/mode:EntityClassGeneration&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;

        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;Use this option to generate your entity classes from a given CSDL file&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="height: 24.15pt"&gt;
        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;/mode:FromSsdlGeneration&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;

        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;Use this option to generate MSL, CSDL, and Entity Classes from a given SSDL file&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="height: 24.15pt"&gt;
        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;/mode:ValidateArtifacts&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;

        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;Use this option to validate the CSDL, SSDL, and MSL files&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="height: 24.15pt"&gt;
        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;/mode:ViewGeneration&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;

        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 191.2pt; padding-right: 5.4pt; height: 24.15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="255"&gt;
          &lt;p class="Pa50"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black; font-size: 10pt"&gt;Use this option to generate mapping views from the CSDL, SSDL, and MSL files &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;

&lt;br /&gt;

&lt;hr color="#ff9933" size="1" noshade="noshade" /&gt;

&lt;br /&gt;

&lt;div class="header"&gt;&lt;strong&gt;Entity Framework Tutorial&lt;/strong&gt;&lt;/div&gt;

&lt;div style="line-height: 0.4em"&gt;&lt;/div&gt;

&lt;table cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="top" width="99"&gt;&lt;a href="http://www.packtpub.com/entity-framework-tutorial/book/mid/241208ot4wpd"&gt;&lt;img class="left" title="Entity Framework Tutorial" border="0" alt="Entity Framework Tutorial" src="http://images.packtpub.com/images/100x123/1847195229.png" width="99" height="123" /&gt;&lt;/a&gt; &lt;/td&gt;

      &lt;td valign="top"&gt;Learn to build a better data access layer with the ADO.NET Entity Framework and ADO.NET Data Services 
        &lt;ul&gt;
          &lt;li&gt;Clear and concise guide to the ADO.NET Entity Framework with plentiful code examples &lt;/li&gt;

          &lt;li&gt;Create Entity Data Models from your database and use them in your applications &lt;/li&gt;

          &lt;li&gt;Learn about the Entity Client data provider and create statements in Entity SQL &lt;/li&gt;

          &lt;li&gt;Learn about ADO.NET Data Services and how they work with the Entity Framework &lt;/li&gt;
        &lt;/ul&gt;

        &lt;p&gt;&lt;a href="http://www.packtpub.com/entity-framework-tutorial/book/mid/241208ot4wpd"&gt;http://www.PacktPub.com/entity-framework-tutorial/book&lt;/a&gt;&lt;/p&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;br /&gt;

&lt;hr color="#ff9933" size="1" noshade="noshade" /&gt;

&lt;p&gt;Note that you basically need to pass the connection string, specify the mode, and also the project name of the artifact files (&lt;em&gt;.csdl&lt;/em&gt;, &lt;em&gt;.msl&lt;/em&gt;, and the &lt;em&gt;.ssdl&lt;/em&gt; files) to be created. To create the Entity Data Model for our database, open a command window and type in the following:&lt;/p&gt;

&lt;pre style="margin-left: 40px"&gt;edmgen /mode:fullgeneration /c:&amp;quot;Data Source=.;Initial Catalog=Payroll;User ID=sa;&lt;br /&gt;Password=joydip1@3;&amp;quot; /p:Payroll&lt;br /&gt;&lt;/pre&gt;

&lt;p&gt;This will create a full ADO.NET Entity Data Model for our database. The output is shown in the following figure:&lt;/p&gt;

&lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image13.png" /&gt;&lt;/p&gt;

&lt;p&gt;You can now see the list of the files that have been generated:&lt;/p&gt;

&lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image14.png" /&gt;&lt;/p&gt;

&lt;p&gt;You can validate the Payroll Entity Data Model that was just created, using the &lt;em&gt;ValidateArtifacts&lt;/em&gt; option of the EdmGen command line tool as shown below:&lt;/p&gt;

&lt;pre style="margin-left: 40px"&gt;EdmGen /mode:ValidateArtifacts /inssdl:Payroll.ssdl /inmsl:Payroll.msl /incsdl:Payroll.csdl&lt;br /&gt;&lt;/pre&gt;

&lt;p&gt;When you execute the above command, the output will be similar to what is shown in the following figure:&lt;/p&gt;

&lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image15.png" /&gt;&lt;/p&gt;

&lt;p&gt;As you can see in the previous figure, there are no warnings or errors displayed. So, our Entity Data Model is perfect.&lt;/p&gt;

&lt;p&gt;The section that follows discusses the new Entity Data Source control which was introduced as part of the Visual Studio.NET 2008 SP1 release.&lt;/p&gt;

&lt;h2&gt;The ADO.NET Entity Data Source Control&lt;/h2&gt;

&lt;p&gt;Data controls are those that can be bound to data from external data sources. These data sources may include databases, XML files, or even flat files. ASP.NET 2.0 introduced some data source controls with a powerful data binding technique so the need for writing lengthy code for binding data to data controls has been eliminated.&lt;/p&gt;

&lt;p style="margin-left: 40px; margin-right: 40px"&gt;&lt;em&gt;In ASP.NET, the term Data Binding implies binding the controls to data retrieved from a data source and providing a read or write connectivity between these controls and the data that they are bound to.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The Entity Data Source control is an example of a data control that is included as part of the Visual Studio 2008 SP1 release and can be used to bind data retrieved from an Entity Data Model to the data bound controls of ASP.NET. If you have installed Visual Studio 2008 SP1, you can see the EntityDataSource control listed in the Data section of your toolbox.&lt;/p&gt;

&lt;p&gt;If you cannot locate the EntityDataSource control in the toolbox, follow these steps:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Right-click on the &lt;strong&gt;Toolbox&lt;/strong&gt; and select the &lt;strong&gt;Choose Items&lt;/strong&gt; option as shown in the following figure: 

    &lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image16.png" /&gt;&lt;/p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/li&gt;

  &lt;li&gt;From the list of the components displayed, scroll down to locate the EntityDataSource in the .NET Framework Components tab. Refer to the following figure: 
    &lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image17.png" /&gt;&lt;/p&gt;
  &lt;/li&gt;

  &lt;li&gt;Now, check the checkbox next to the EntityDataSource component and click on &lt;strong&gt;OK&lt;/strong&gt;. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The ADO.NET Entity Data Source control is now added to your toolbox as shown in the following figure:&lt;/p&gt;

&lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image18.png" /&gt;&lt;/p&gt;

&lt;p&gt;If the EntityDataSource component is not listed in the list of the componentsdisplayed in the Choose Toolbox Items window, you will have to add it manually. To do this, click on the &lt;strong&gt;Browse&lt;/strong&gt; button in the Choose Toolbox Items window, locate the&lt;em&gt;System.Web.Entity.dll&lt;/em&gt; in the folder in your system where Microsoft .NET Framework 3.5 has been installed and click on &lt;strong&gt;OK&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;Implementing Our First Application Using the Entity Framework&lt;/h2&gt;

&lt;p&gt;In this section, we will learn how to use the Entity Data Model and the Entity Data Source Control to implement our first program using the Entity Framework. We will use a GridView control to display bound data.&lt;/p&gt;

&lt;p&gt;Refer to the solution we created earlier using the Entity Data Model Designer. Now, follow these steps:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Drag and drop an Entity Data Source control from the toolbox onto your&amp;#160; &lt;em&gt;Default.aspx&lt;/em&gt; web form. &lt;/li&gt;

  &lt;li&gt;Now, click on the Configure Data Source option to specify the data source. Refer to the following figure: 
    &lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image19.png" /&gt;&lt;/p&gt;
  &lt;/li&gt;

  &lt;li&gt;Specify the Connection String and DefaultContainerName and then click on&amp;#160; &lt;strong&gt;Next&lt;/strong&gt;. &lt;/li&gt;

  &lt;li&gt;Specify the fields you would want to retrieve from the database table and click on &lt;strong&gt;Finish&lt;/strong&gt; when done. &lt;/li&gt;

  &lt;li&gt;Now, drag and drop a &lt;strong&gt;GridView&lt;/strong&gt; control from the toolbox onto the&amp;#160; &lt;em&gt;Default.aspx&lt;/em&gt; web form as seen in the following figure: 

    &lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image20.png" /&gt;&lt;/p&gt;
  &lt;/li&gt;

  &lt;li&gt;Next, use the Choose Data Source option of the GridView control to associate its data source with the Entity Data Source control we created earlier. Refer to the following figure: 
    &lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image21.png" /&gt;&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here is how the markup code of the GridView control looks with its templates defined. Note how the DataSourceID of the GridView control has been associated with the Entity Data Source control we created earlier.&lt;/p&gt;

&lt;pre style="margin-left: 40px"&gt;&amp;lt;asp:GridView ID=&amp;quot;GridView1&amp;quot; runat=&amp;quot;server&amp;quot; AutoGenerateColumns=&amp;quot;False&amp;quot; DataKeyNames=&amp;quot;EmployeeID&amp;quot; &lt;br /&gt;DataSourceID=&amp;quot;SqlDataSource1&amp;quot; BorderColor=&amp;quot;Black&amp;quot; BorderStyle=&amp;quot;Solid&amp;quot; Width=&amp;quot;400px&amp;quot;&amp;gt; &lt;br /&gt;&amp;lt;Columns&amp;gt; &lt;br /&gt;&amp;lt;asp:BoundField DataField=&amp;quot;EmployeeID&amp;quot; HeaderText=&amp;quot;Employee ID&amp;quot; ReadOnly=&amp;quot;True&amp;quot; &lt;br /&gt;SortExpression=&amp;quot;EmployeeID&amp;quot; /&amp;gt; &lt;br /&gt;&amp;lt;asp:BoundField DataField=&amp;quot;FirstName&amp;quot; HeaderText=&amp;quot;First Name&amp;quot; SortExpression=&amp;quot;FirstName&amp;quot; /&amp;gt; &lt;br /&gt;&amp;lt;asp:BoundField DataField=&amp;quot;LastName&amp;quot; HeaderText=&amp;quot;Last Name&amp;quot; SortExpression=&amp;quot;LastName&amp;quot; /&amp;gt; &lt;br /&gt;&amp;lt;asp:BoundField DataField=&amp;quot;Address&amp;quot; HeaderText=&amp;quot;Address&amp;quot; SortExpression=&amp;quot;Address&amp;quot; /&amp;gt; &lt;br /&gt;&amp;lt;/Columns&amp;gt;&lt;br /&gt;&amp;lt;/asp:GridView&amp;gt;&lt;br /&gt;&lt;/pre&gt;

&lt;p&gt;We are done! When you execute the application, your output should be similar to what is shown in the following figure:&lt;/p&gt;

&lt;p style="text-align: center"&gt;&lt;img src="http://www.packtpub.com/files/images/ado-net-entity-image22.png" /&gt;&lt;/p&gt;

&lt;br /&gt;

&lt;hr color="#ff9933" size="1" noshade="noshade" /&gt;

&lt;br /&gt;

&lt;div class="header"&gt;&lt;strong&gt;Entity Framework Tutorial&lt;/strong&gt;&lt;/div&gt;

&lt;div style="line-height: 0.4em"&gt;&lt;/div&gt;

&lt;table cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="top" width="99"&gt;&lt;a href="http://www.packtpub.com/entity-framework-tutorial/book/mid/241208ot4wpd"&gt;&lt;img class="left" title="Entity Framework Tutorial" border="0" alt="Entity Framework Tutorial" src="http://images.packtpub.com/images/100x123/1847195229.png" width="99" height="123" /&gt;&lt;/a&gt; &lt;/td&gt;

      &lt;td valign="top"&gt;Learn to build a better data access layer with the ADO.NET Entity Framework and ADO.NET Data Services 
        &lt;ul&gt;
          &lt;li&gt;Clear and concise guide to the ADO.NET Entity Framework with plentiful code examples &lt;/li&gt;

          &lt;li&gt;Create Entity Data Models from your database and use them in your applications &lt;/li&gt;

          &lt;li&gt;Learn about the Entity Client data provider and create statements in Entity SQL &lt;/li&gt;

          &lt;li&gt;Learn about ADO.NET Data Services and how they work with the Entity Framework &lt;/li&gt;
        &lt;/ul&gt;
        &lt;a href="http://www.packtpub.com/entity-framework-tutorial/book/mid/241208ot4wpd"&gt;
          &lt;p&gt;
            &lt;br /&gt;http://www.PacktPub.com/entity-framework-tutorial/book&lt;/p&gt;
        &lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;br /&gt;

&lt;hr color="#ff9933" size="1" noshade="noshade" /&gt;

&lt;h2&gt;About the Author&lt;/h2&gt;

&lt;p&gt;&lt;b&gt;Joydip Kanjilal&lt;/b&gt; is a Microsoft MVP in ASP.NET. He has over 12 years of industry experience in IT with more than 6 years in Microsoft .NET and its related technologies. He has authored many articles for some of the most reputable sites like,www.asptoday.com, www.devx.com, www.aspalliance.com, www.aspnetpro.com, www.sql-server-performance.com, www.sswug.com, etc. Several of these articles have been featured at www.asp.net—Microsoft's Official Site on ASP.NET. Joydip was also a community credit winner at www.community-credit.com a number of times.&lt;/p&gt;

&lt;p&gt;He is currently working as a Senior Consultant in a reputable company in Hyderabad, INDIA. He has years of experience in designing and architecting solutions for various domains. His technical strengths include C, C++, VC++, Java, C#, Microsoft .NET, Ajax, Design Patterns, SQL Server, Operating Systems, and Computer Architecture. Joydip blogs at http://aspadvice.com/blogs/joydip and spends most of his time reading books, blogs, and writing books and articles. His hobbies include watching cricket and soccer and playing chess.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/mikeborozdin/~3/L2x90Zk2ndw/post.aspx</link>
      <author>mike.borozdin.nospam@nospam.gmail.com (Mike Borozdin)</author>
      <comments>http://www.mikeborozdin.com/post/Creating-Entity-Framework-Driven-ASPNET-Application.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mikeborozdin.com/post.aspx?id=963b2398-92f4-42bf-94c3-1a16fab3e9f8</guid>
      <pubDate>Sat, 03 Jan 2009 06:44:52 -0700</pubDate>
      <dc:publisher>Mike Borozdin</dc:publisher>
      <pingback:server>http://www.mikeborozdin.com/pingback.axd</pingback:server>
      <pingback:target>http://www.mikeborozdin.com/post.aspx?id=963b2398-92f4-42bf-94c3-1a16fab3e9f8</pingback:target>
      <slash:comments>4</slash:comments>
      <trackback:ping>http://www.mikeborozdin.com/trackback.axd?id=963b2398-92f4-42bf-94c3-1a16fab3e9f8</trackback:ping>
      <wfw:comment>http://www.mikeborozdin.com/post/Creating-Entity-Framework-Driven-ASPNET-Application.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mikeborozdin.com/syndication.axd?post=963b2398-92f4-42bf-94c3-1a16fab3e9f8</wfw:commentRss>
    <feedburner:origLink>http://www.mikeborozdin.com/post.aspx?id=963b2398-92f4-42bf-94c3-1a16fab3e9f8</feedburner:origLink></item>
    <item>
      <title>Spammers Hit Trackbacks</title>
      <description>&lt;p&gt;It’s really sad, but true. Spammers hit trackbacks. Recently, you could prevent spam in comments by enforcing registration or adding a CAPTCHA or by simply enabling comment moderation. Now it’s getting harder and harder. Spammers post trackbacks links that lead people to their scummy web sites, most of them are porn web sites. In fact, I don’t think they are going to attract visitors to their web sites in this way, instead they are trying to increase their PageRank, I thinkl.&lt;/p&gt;  &lt;p&gt;I’ve been blogging for about a half of a year. Everybody can comment on my posts, however comments have to be approved by me first, but I have never forced people to register or pass a CAPTCHA and I don’t remember receiving any spam posts until the recent times, when some Busby SEO Test started posting comments. I must admit it was a pretty clever bot, but it still generated scum comments.&lt;/p&gt;  &lt;p&gt;Anyway, the amount of spam was pretty tolerable besides it has never gone approved. But everything changes. In the past two days, I’ve been getting spam posts disguised as trackbacks that is really nasty, because trackbacks don’t need to be approved, they become visible to visitors after they get posted.&lt;/p&gt;  &lt;p&gt;It’s really unpleasant that such a useful service as the trackback can get a bad reputation because of the spam abuse.&lt;/p&gt;  &lt;p&gt;After Googling for a while, I found out that this problem isn’t a new one, I came across the mentions of it that dated back to 2005, this basically means that I just didn’t face it, because I wasn’t a blogger.&lt;/p&gt;  &lt;p&gt;So, it’s crucial to prevent trackback spamming, I wonder if anybody knows a good solutions that works with BlogEngine.NET 1.4.5. It’s also interesting to know who anyone fights with the trackback spam.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/mikeborozdin/~3/ak5WqFGuYmE/post.aspx</link>
      <author>mike.borozdin.nospam@nospam.gmail.com (Mike Borozdin)</author>
      <comments>http://www.mikeborozdin.com/post/Spammers-Hit-Trackbacks.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mikeborozdin.com/post.aspx?id=63b54712-cb3d-4874-bfa6-ed63f2071bcf</guid>
      <pubDate>Sun, 28 Dec 2008 05:52:46 -0700</pubDate>
      <dc:publisher>Mike Borozdin</dc:publisher>
      <pingback:server>http://www.mikeborozdin.com/pingback.axd</pingback:server>
      <pingback:target>http://www.mikeborozdin.com/post.aspx?id=63b54712-cb3d-4874-bfa6-ed63f2071bcf</pingback:target>
      <slash:comments>10</slash:comments>
      <trackback:ping>http://www.mikeborozdin.com/trackback.axd?id=63b54712-cb3d-4874-bfa6-ed63f2071bcf</trackback:ping>
      <wfw:comment>http://www.mikeborozdin.com/post/Spammers-Hit-Trackbacks.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mikeborozdin.com/syndication.axd?post=63b54712-cb3d-4874-bfa6-ed63f2071bcf</wfw:commentRss>
    <feedburner:origLink>http://www.mikeborozdin.com/post.aspx?id=63b54712-cb3d-4874-bfa6-ed63f2071bcf</feedburner:origLink></item>
    <item>
      <title>Merry Christmas!</title>
      <description>&lt;p&gt;&lt;a href="http://www.mikeborozdin.com/image.axd?picture=christmastree.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="christmastree" border="0" alt="christmastree" align="left" src="http://www.mikeborozdin.com/image.axd?picture=christmastree_thumb.jpg" width="129" height="130" /&gt;&lt;/a&gt; &lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;It’s the Christmas day today, so I want to congratulate everyone! Be happy :)!&lt;/strong&gt;&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/mikeborozdin/~3/8-qxacxQZcY/post.aspx</link>
      <author>mike.borozdin.nospam@nospam.gmail.com (Mike Borozdin)</author>
      <comments>http://www.mikeborozdin.com/post/Merry-Christmas!.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mikeborozdin.com/post.aspx?id=21bfdbc4-2ea2-47c6-9f4c-7c5ffb5f4780</guid>
      <pubDate>Thu, 25 Dec 2008 02:29:26 -0700</pubDate>
      <dc:publisher>Mike Borozdin</dc:publisher>
      <pingback:server>http://www.mikeborozdin.com/pingback.axd</pingback:server>
      <pingback:target>http://www.mikeborozdin.com/post.aspx?id=21bfdbc4-2ea2-47c6-9f4c-7c5ffb5f4780</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.mikeborozdin.com/trackback.axd?id=21bfdbc4-2ea2-47c6-9f4c-7c5ffb5f4780</trackback:ping>
      <wfw:comment>http://www.mikeborozdin.com/post/Merry-Christmas!.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mikeborozdin.com/syndication.axd?post=21bfdbc4-2ea2-47c6-9f4c-7c5ffb5f4780</wfw:commentRss>
    <feedburner:origLink>http://www.mikeborozdin.com/post.aspx?id=21bfdbc4-2ea2-47c6-9f4c-7c5ffb5f4780</feedburner:origLink></item>
    <item>
      <title>Learning Entity Framework</title>
      <description>&lt;p&gt;I suppose you have already heard about the Entity Framework, but probably didn’t have a chance to try it in action. So, you want to learn it. Of course, you can start with MSDN that is indeed is the number one resource .NET developers, you can also find a dozen of tutorials on the Net, but you know it’s always pleasant to have a paper book or perhaps its electronic versions that you can read everywhere, not only in front of your computer.&lt;/p&gt;  &lt;p&gt;&lt;a target="_blank" href="http://www.packtpub.com/entity-framework-tutorial/book/mid/241208ot4wpd"&gt;&lt;img style="border-right-width: 0px; margin: 0px 5px 5px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Entity Framework Tutorial" border="0" alt="Entity Framework Tutorial" align="left" src="http://www.mikeborozdin.com/image.axd?picture=EntityFrameworkTutorial.jpg" width="100" height="123" /&gt;&lt;/a&gt; So, I can recommend you a book that will help you start working with the Entity Framework straight away. The book has a simple title of “&lt;a target="_blank" href="http://www.packtpub.com/entity-framework-tutorial/book/mid/241208ot4wpd"&gt;Entity Framework Tutorial&lt;/a&gt;” that suggests that it focuses strictly on practical appliance of the Entity Framework and contains many samples.&lt;/p&gt;  &lt;p&gt;That is true. You’ll find a lot of useful samples in this book. In fact, you should really treat the book as a big tutorial that you usually find in the Internet, but this time it’s big enough to cover the most aspects of the Entity Framework and be published as a book. &lt;/p&gt;  &lt;p&gt;It is written by Joydip Kanjilal – Microsoft MVP in ASP.NET who is known by his numerous publications on the reputable developers web sites, like &lt;a href="http://www.aspnettoday"&gt;www.aspnettoday&lt;/a&gt;, &lt;a href="http://www.devx.com"&gt;www.devx.com&lt;/a&gt;, &lt;a href="http://www.aspalliance.com"&gt;www.aspalliance.com&lt;/a&gt; and many others. “Entity Framework Tutorial” is written in plain English and the book is generally not very long, just 228 pages, but is is enough to get started with the Entity Framework.&lt;/p&gt;  &lt;p&gt;The book covers the essential topic including the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The Entity Framework Architecture &lt;/li&gt;    &lt;li&gt;Mapping &lt;/li&gt;    &lt;li&gt;Working with Stored Procedures &lt;/li&gt;    &lt;li&gt;Ways of querying for data      &lt;ul&gt;       &lt;li&gt;Entity SQL &lt;/li&gt;        &lt;li&gt;LINQ To SQL &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Object Service Layer and CRUD operations &lt;/li&gt;    &lt;li&gt;Finally, there is an example of building an ASP.NET application with the Entity Framework &lt;/li&gt;    &lt;li&gt;It also gives an introduction to ADO.NET Data Services &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This is a good book in general, although it doesn’t provide the in-depth review of Entity Framework that you can still find on MSDN, instead “Entity Framework Tutorial” enables you to try and realize the power of the Entity Framework.&lt;/p&gt;  &lt;p&gt;You can buy the book on &lt;a target="_blank" href="http://www.packtpub.com/entity-framework-tutorial/book/mid/241208ot4wpd"&gt;the official web site of Packt Publishing&lt;/a&gt;.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/mikeborozdin/~3/uBpZ4hbNxsE/post.aspx</link>
      <author>mike.borozdin.nospam@nospam.gmail.com (Mike Borozdin)</author>
      <comments>http://www.mikeborozdin.com/post/Learning-Entity-Framework.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mikeborozdin.com/post.aspx?id=b7ffdc45-07b2-4b98-acb7-4d14563cc1d6</guid>
      <pubDate>Thu, 25 Dec 2008 02:04:23 -0700</pubDate>
      <dc:publisher>Mike Borozdin</dc:publisher>
      <pingback:server>http://www.mikeborozdin.com/pingback.axd</pingback:server>
      <pingback:target>http://www.mikeborozdin.com/post.aspx?id=b7ffdc45-07b2-4b98-acb7-4d14563cc1d6</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.mikeborozdin.com/trackback.axd?id=b7ffdc45-07b2-4b98-acb7-4d14563cc1d6</trackback:ping>
      <wfw:comment>http://www.mikeborozdin.com/post/Learning-Entity-Framework.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mikeborozdin.com/syndication.axd?post=b7ffdc45-07b2-4b98-acb7-4d14563cc1d6</wfw:commentRss>
    <feedburner:origLink>http://www.mikeborozdin.com/post.aspx?id=b7ffdc45-07b2-4b98-acb7-4d14563cc1d6</feedburner:origLink></item>
  </channel>
</rss>
