C# 从DAL返回自定义类?
我有一个具有以下属性的对象C# 从DAL返回自定义类?,c#,asp.net,business-objects,C#,Asp.net,Business Objects,我有一个具有以下属性的对象 Books ---------- ID , Name 现在,我想为表示层中的gridview返回一个对象,它的属性比原始对象多得多 Gridview Object --------------- ID, Name, Quantity, Location, ISBNNO, LastIssued 我目前没有任何由这些属性组成的业务对象&我不想仅仅为了gridview而创建它 如何创建并返回自定义 像这样的飞行物体?我是 DTO的新成员。有人能给我一个电话吗 在我的D
Books
----------
ID , Name
现在,我想为表示层中的gridview返回一个对象,它的属性比原始对象多得多
Gridview Object
---------------
ID, Name, Quantity, Location, ISBNNO, LastIssued
我目前没有任何由这些属性组成的业务对象&我不想仅仅为了gridview而创建它
如何创建并返回自定义
像这样的飞行物体?我是
DTO的新成员。有人能给我一个电话吗
在我的DAL中返回DTO的示例
?
谢谢,
达米恩 这是我在谷歌上找到的。有帮助吗
我认为您可以扩展book类或继承它。这是我在google上找到的。有帮助吗
我认为您可以扩展book类或继承它。如果您不想弄乱数据库对象,请为它创建一个装饰器
public class myGVObject
{
public Book { get; set; }
public int Quantity { get; set; }
public string Location { get; set; }
public string ISBNNO { get; set; }
public DateTime LastIssued { get; set; }
}
在gridView中使用:
<asp:Label id="lblBookId" text="<%# Eval("Book.ID") %>" />
<asp:Label id="lblLastIssue" text="<%# Eval("LastIssued") %>" />
如果不想弄乱数据库对象,请为其创建一个装饰器
public class myGVObject
{
public Book { get; set; }
public int Quantity { get; set; }
public string Location { get; set; }
public string ISBNNO { get; set; }
public DateTime LastIssued { get; set; }
}
在gridView中使用:
<asp:Label id="lblBookId" text="<%# Eval("Book.ID") %>" />
<asp:Label id="lblLastIssue" text="<%# Eval("LastIssued") %>" />
如何在运行时从Linq查询中投影对象
var result = from record in datastore
select new
{
ID = record.ID,
Name = record.Name,
Quantity = record.Quantity,
Location = record.Location,
ISBNNO = record.ISBN,
LastIssued = record.LastIssued
};
GridView1.DataSource = result;
GridView1.DataBind();
如何在运行时从Linq查询中投影对象
var result = from record in datastore
select new
{
ID = record.ID,
Name = record.Name,
Quantity = record.Quantity,
Location = record.Location,
ISBNNO = record.ISBN,
LastIssued = record.LastIssued
};
GridView1.DataSource = result;
GridView1.DataBind();
当您不想为应用程序创建对象时,您到底在为什么创建对象?对不起,我的意思是,创建业务对象文件。我的每个业务对象都在一个单独的cs文件中。是的,每个类都应该在它自己的代码文件中。请不要误解我的意思,但是在它自己的代码文件中创建类的问题在哪里呢?我想我有点糊涂了。对不起,问题是每个gridview都有很多单独的类文件。在我的例子中,有150个。所以我想也许有办法把它们放在一个类文件中,或者只是从DAL创建并返回一个对象。当你不想为你的应用程序创建对象时,你创建对象到底是为了什么?对不起,我的意思是,创建一个业务对象文件。我的每个业务对象都在一个单独的cs文件中。是的,每个类都应该在它自己的代码文件中。请不要误解我的意思,但是在它自己的代码文件中创建类的问题在哪里呢?我想我有点糊涂了。对不起,问题是每个gridview都有很多单独的类文件。在我的例子中,有150个。所以我想也许有办法把它们放在一个类文件中,或者只是从DAL创建并返回一个对象。嗨,这似乎是一个不错的选择,但我在多个页面上使用网格,所以我会使用decorator对象。嗨,这似乎是一个不错的选择,但我在多个页面上使用网格,所以我会使用decorator对象。谢谢balezandre。你是对的。创建一个单独的decorator对象或继承上一个类的一些属性是否好?谢谢balezandre。你是对的。创建一个单独的decorator对象或从上一个类继承一些属性好吗?