The program should first prompt the user to enter a customer number via Console.Readline. Then all records from the Order table with this customer number are to be read and output via ADO.NET.
{
static void Main(string[] args)
{
using (var ctx = new Sales())
{
Console.WriteLine("Enter OrderNo: ");
int number = Convert.ToInt32(Console.ReadLine());
foreach (var m in ctx.Order)
{
Console.WriteLine($"{m.OrderNo}{m.Date}{m.CustomerNo}");
}
}
}
}
public class Sales : DbContext
{
public Sales() : base("name=Sales") { }
public IDbSet<Order> Order { get; set; }
}
[Table("Order")]
public class Order
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int OrderNo { get; set; }
public DateTime? Date { get; set; }
public int CustomerNo { get; set; }
}
I'm stuck and reaching out for a helping hand.
you missed the Where
extension method:
ctx.Order.Where(o=>o.CustomerNo == number)
so the code should be like this:
using (var ctx = new Sales())
{
Console.WriteLine("Enter OrderNo: ");
int number = Convert.ToInt32(Console.ReadLine());
foreach (var m in ctx.Order.Where(o=>o.CustomerNo == number))
{
Console.WriteLine($"{m.OrderNo}{m.Date}{m.CustomerNo}");
}
}