[英]convert sql statement to linq (join two tables with where condition)
我是 C# 中 linq 的大人物,在将以下语句转换为 linq 方面尝试了很多,但失败了,有人可以帮助我吗
SELECT dbo.OFM_OffsetWells_studio.WellNames, dbo.OFM_WellActivity_studio.Date,
dbo.OFM_WellActivity_studio.Activity, dbo.OFM_WellActivity_studio.ActivityRtf,
dbo.OFM_WellActivity_studio.Type,
dbo.OFM_WellActivity_studio.Diff,
dbo.OFM_WellActivity_studio.Report, dbo.OFM_WellActivity_studio.LastModifiedBy,
dbo.OFM_WellActivity_studio.LastModifiedDate
FROM dbo.OFM_WellActivity_studio INNER JOIN
dbo.OFM_OffsetWells_studio ON dbo.OFM_WellActivity_studio.Alias =
dbo.OFM_OffsetWells_studio.RubbishWellNames
WHERE (dbo.OFM_OffsetWells_studio.WellNames = N'ZZ-04')
模型如下
public class WellActivity
{
public Guid Id { get; set; }
public Guid? headerId { get; set; }
public string Alias { get; set; }
public string Type { get; set; }
public decimal? Diff { get; set; }
public bool? Report { get; set; }
public DateTime Date { get; set; }
public string Activity { get; set; }
public byte[] ActivityRtf { get; set; }
public string LastModifiedBy { get; set; }
public DateTime? LastModifiedDate { get; set; }
}
public class OffsetWells
{
public Guid Id { get; set; }
public string RubbishWellNames { get; set; }
public string WellNames { get; set; }
}
尝试以下:
class Program
{
static void Main(string[] args)
{
Context db = new Context();
var results = from wa in db.WellActivity
join ow in db.OffsetWells.Where(x => x.WellNames == "ZZ-04") on wa.Alias equals ow.RubbishWellNames
select new {
wellNames = ow.WellNames};
}
}
public class Context
{
public List<WellActivity> WellActivity { get; set; }
public List<OffsetWells> OffsetWells { get; set; }
}
public class WellActivity
{
public Guid Id { get; set; }
public Guid? headerId { get; set; }
public string Alias { get; set; }
public string Type { get; set; }
public decimal? Diff { get; set; }
public bool? Report { get; set; }
public DateTime Date { get; set; }
public string Activity { get; set; }
public byte[] ActivityRtf { get; set; }
public string LastModifiedBy { get; set; }
public DateTime? LastModifiedDate { get; set; }
}
public class OffsetWells
{
public Guid Id { get; set; }
public string RubbishWellNames { get; set; }
public string WellNames { get; set; }
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.