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