Linq to sql 你能帮我理解这个C代码吗?

Linq to sql 你能帮我理解这个C代码吗?,linq-to-sql,Linq To Sql,我正在阅读Pro ASP.Net MVC2,我已经到了一个无法很好解释的地步。例如,下面告诉我如何手动创建此C#代码: 拍卖域模型的实现 使用LINQ到SQL,您可以在C#类和隐含的数据库模式之间建立映射 通过使用特殊属性装饰类或编写XML配置文件。XML选项 其优点是持久性工件完全从域类中移除,4但是 缺点是乍一看不太明显。为了简单起见,我将在这里妥协并使用 属性。 下面是为LINQ to SQL:5完全标记的拍卖域模型类 使用系统; 使用System.Collections.Generic;

我正在阅读Pro ASP.Net MVC2,我已经到了一个无法很好解释的地步。例如,下面告诉我如何手动创建此C#代码:

拍卖域模型的实现 使用LINQ到SQL,您可以在C#类和隐含的数据库模式之间建立映射 通过使用特殊属性装饰类或编写XML配置文件。XML选项 其优点是持久性工件完全从域类中移除,4但是 缺点是乍一看不太明显。为了简单起见,我将在这里妥协并使用 属性。 下面是为LINQ to SQL:5完全标记的拍卖域模型类

使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Data.Linq.Mapping;
使用System.Data.Linq;
[表(Name=“成员”)]
公共班级成员
{
[列(IsPrimaryKey=true,IsDbGenerated=true,AutoSync=AutoSync.OnInsert)]
内部int MemberID{get;set;}
[专栏]
公共字符串登录名{get;set;}
[专栏]
公共int信誉点{get;set;}
}
[表(Name=“Items”)]
公共类项目
{
[列(IsPrimaryKey=true,IsDbGenerated=true,AutoSync=AutoSync.OnInsert)]
public int ItemID{get;internal set;}
[专栏]
公共字符串标题{get;set;}
[专栏]
公共字符串说明{get;set;}
[专栏]
public DateTime AuctionEndDate{get;set;}
[关联(OtherKey=“ItemID”)]
私有EntitySet_bids=新EntitySet();
公共IList出价{get{return}Bids.ToList().AsReadOnly();}
}

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

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

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


看到这里:

这里有一个更好的解释:我很惊讶这实际上不是生成的代码。我会坚持我的Django车型。是的,有点笨重。属性告诉DataContext在数据库中的何处查找数据。实体框架中新的代码优先方法要好得多,但在现阶段它只是一个CTP。
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(); } }
}