DataKeyNames in databound controls must be a property?
<p>I use a ListView along with an ObjectDataSource tied to a business object. This object is defined as follows:</p>

<pre><code>public class Employee
{
    public int Id;
    public string Name;
}
</code></pre>

<p>When I try setting the DataKeyNames property of the ListView to Id, ASP.net blows up and says:</p>

<p><strong>DataBinding: 'Employee' does not contain a property with the name 'Id'.</strong></p>

<p>However, when I change the object to that:</p>

<pre><code>public class Employee
{
    public int Id {get; set;}
    public string Name;
}
</code></pre>

<p>It works!!!</p>

<p>I couldn't find any documentation about this behavior. Why is it not accepting a simple variable for DataKeyNames and instead it insists on a property?</p>
