从多个数据库表派生的LinqToSql自定义类
在我的数据库中,我有两个相关的表。让我们称它们为Job和JobType 作业具有引用JobType的外键jobTypeID 我想在dbml中创建一个自定义类,其中包含来自两个DB表的属性…基本上是来自JobType的所有Job属性和JobTypeName属性 这是一个简化的例子,但在我继续之前,我想知道这是否可行 最终,我需要一个具有适当属性的linqtosql类,以传递给解析器,该解析器处理客户端数据网格的分页、排序等从多个数据库表派生的LinqToSql自定义类,linq,linq-to-sql,Linq,Linq To Sql,在我的数据库中,我有两个相关的表。让我们称它们为Job和JobType 作业具有引用JobType的外键jobTypeID 我想在dbml中创建一个自定义类,其中包含来自两个DB表的属性…基本上是来自JobType的所有Job属性和JobTypeName属性 这是一个简化的例子,但在我继续之前,我想知道这是否可行 最终,我需要一个具有适当属性的linqtosql类,以传递给解析器,该解析器处理客户端数据网格的分页、排序等 如果这有助于向我指出一个更好的方向,那么解析器将采用一个具有泛型类型的IQ
如果这有助于向我指出一个更好的方向,那么解析器将采用一个具有泛型类型的IQueryable…该类型是linqtosql类,它保存将在表中显示的数据。我确实做到了这一点,但不是我最初想象的方式 我能够在db中创建一个视图来返回所需的列,然后将该视图映射到一个linqtosql类 性能似乎暂时还可以
我猜正确的方法应该是为未来的项目探索ado.net实体框架我确实做到了,但不是我最初想象的那样 我能够在db中创建一个视图来返回所需的列,然后将该视图映射到一个linqtosql类 性能似乎暂时还可以
我猜正确的方法应该是为未来的项目探索ado.net实体框架,因为您的所有表都有关系并成功地传输到DBML,那么是的,您可以这样做 基本上为您的作业类创建一个分部类(分部类引用Linq Designer创建的作业类),并在其中放置一个属性,该属性从引用的表返回JobTypeName e、 g:
命名空间控制台应用程序1
{
///
///LINQ Desinger创建的作业类的分部类
///
公共部分班级工作
{
///
///属性返回此作业的JobTypeName
///
公共字符串JobTypeName
{
得到
{
if(作业类型!=null)
返回this.JobType.JobTypeName;
返回字符串。空;
}
}
}
}
希望这能有所帮助。因为您的所有表都获得了关系并成功地传输到DBML,那么是的,您可以这样做 基本上为您的作业类创建一个分部类(分部类引用Linq Designer创建的作业类),并在其中放置一个属性,该属性从引用的表返回JobTypeName e、 g:
命名空间控制台应用程序1
{
///
///LINQ Desinger创建的作业类的分部类
///
公共部分班级工作
{
///
///属性返回此作业的JobTypeName
///
公共字符串JobTypeName
{
得到
{
if(作业类型!=null)
返回this.JobType.JobTypeName;
返回字符串。空;
}
}
}
}
希望这有帮助。接受了不同的答案,但这个解决方案在紧要关头对我有效。接受了不同的答案,但这个解决方案在紧要关头对我有效。
namespace ConsoleApplication1
{
/// <summary>
/// Partial class for job class created by LINQ Desinger
/// </summary>
public partial class Job
{
/// <summary>
/// Property to return the JobTypeName for this Job
/// </summary>
public string JobTypeName
{
get
{
if (JobType != null)
return this.JobType.JobTypeName;
return string.Empty;
}
}
}
}