你能帮我理解这个C#代码吗?

时间:2010-08-07 04:12:29

标签: linq-to-sql

我正在阅读Pro ASP.Net MVC2,我已经达到了一个没有得到足够解释的地步。例如,以下内容告诉我手动创建此C#代码:

  

实施拍卖领域模型   使用LINQ to SQL,您可以设置C#类和隐含数据库模式之间的映射   通过使用特殊属性修饰类或编写XML配置文件。 XML选项   具有以下优点:持久性工件完全从您的域类中删除,但是   缺点是乍一看并不那么明显。为简单起见,我会在这里妥协并使用   属性。   以下是现在已完全标记为LINQ to SQL的Auctions域模型类:5

using System;
using System.Collections.Generic;
using System.Linq;
using System.Data.Linq.Mapping;
using System.Data.Linq;
[Table(Name="Members")] 
public class Member
{
    [Column(IsPrimaryKey=true, IsDbGenerated=true, AutoSync=AutoSync.OnInsert)]
    internal int MemberID { get; set; }

    [Column] 
    public string LoginName { get; set; }

    [Column] 
    public int ReputationPoints { get; set; }
}

[Table(Name = "Items")] 
public class Item
{
    [Column(IsPrimaryKey=true, IsDbGenerated=true, AutoSync=AutoSync.OnInsert)]
    public int ItemID { get; internal set; }

    [Column] 
    public string Title { get; set; }

    [Column] 
    public string Description { get; set; }

    [Column] 
    public DateTime AuctionEndDate { get; set; }

    [Association(OtherKey = "ItemID")]
    private EntitySet<Bid> _bids = new EntitySet<Bid>();

    public IList<Bid> Bids { get { return _bids.ToList().AsReadOnly(); } }
}

我到底在哪里写这个?或者他只是通过Linq-to-sql DBML显示生成的代码?

1 个答案:

答案 0 :(得分:1)

这不是生成的代码。这就是你使用Linq映射将类映射到数据库的方法。

您只需将其写入CS文件即可。它可以去任何地方,但如果您使用的是ASP.NET MVC,通常会将它放在Models文件夹中。

请参阅:http://msdn.microsoft.com/en-us/library/bb386971.aspx