c# - 来自 SP 的 Linq-to-SQL 复杂自定义对象

标签 c# linq-to-sql

我有一个 Linq-to-SQL 模型,它在某些地方使用存储过程来返回需要更复杂 SQL 的对象。这一切都很好。

我现在需要从 SP 返回一个自定义对象,该对象还封装了一个 Linq-to-SQL 对象。例如,我有一个名为 Employee 的类,该类基于 Employee 表。我还有一个名为 rota 的自定义类,定义如下:

public class rota
{
    public Employee employee{ get; set; }
    public int DisplayOrder { get; set; }
    public DateTime StartingTime { get; set; }
    public DateTime FinishTime { get; set; }
}

我有一些相当复杂的 linq 计算任何给定日期的员工轮类表,然后返回该对象。我想将此逻辑移动到存储过程中,以便我可以完全控制 sql(生成的 sql 不是很好)但是我不确定如何返回该对象?

最佳答案

我相信这会起作用,尽管我还没有运行它。如果没有,我知道您可以使用返回表变量的 SQL 函数来执行此操作。

from x in dataContext.StoredProc("", "", "")
select new Rota {
    DisplayOrder = x.DisplayOrder,
    StartingTime = x.StartingTime,
    FinishTime = x.FinishTime,
    Employee = new Employee {
        EmployeeId = x.EmployeeId,
        Name = x.EmployeeName
    }
}

关于c# - 来自 SP 的 Linq-to-SQL 复杂自定义对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4828662/

相关文章:

visual-studio-2010 - 重命名 dbml 后将 Linq 更改为 SQL DataContext 类名

c# - String.Format 和 TimeSpan 问题

c# - Linq where column == (null reference) 与 column == null 不同

c# - Asp.NET WebApi 中类文件名称的路由

c# - Linq to SQL 中的可配置架构名称?

c# - 如何使用 Entity Framework 比较 Linq to SQL 中 DateTime 类型中没有时间的日期?

c# - 如何查看从 IEnumerable 返回的对象?

c# - 使用 ObservableCollection 绑定(bind)到 ItemSource 的列表框问题

c# - 为什么这不是常数?

asp.net-mvc - 使用 ASP.NET MVC、Linq To SQL 和 StructureMap 导致 DataContext 缓存数据