私は3つのモデルと1つのビューモデルを持っています。私はシリアル番号を生成しようとしていますシリアル番号を生成します。 LINQを使ったリスト
public class SalelsDetailListViewModel
{
public int SerialNo { get; set; }
public Int64 Id { get; set; }
public int ItemId { get; set; }
public string ItemName { get; set; }
public int UoM { get; set; }
public string UnitName { get; set; }
public int Qty { get; set; }
public decimal? Disc { get; set; }
}
:モデルは次のようにされていますように
public partial class SalesDetail
{
public long IID { get; set; }
public Nullable<long> SalesId { get; set; }
public int ItemId { get; set; }
public int UoM { get; set; }
public int Qty { get; set; }
public Nullable<decimal> Disc { get; set; }
public virtual General General { get; set; }
public virtual Item Item { get; set; }
public virtual Sale Sale { get; set; }
}
public partial class Item
{
public Item()
{
this.SalesDetails = new HashSet<SalesDetail>();
}
public int IID { get; set; }
public string Item1 { get; set; }
public int UoM { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<SalesDetail> SalesDetails { get; set; }
}
public partial class General
{
public General()
{
this.Parties = new HashSet<Party>();
this.Parties1 = new HashSet<Party>();
this.SalesDetails = new HashSet<SalesDetail>();
}
public int IID { get; set; }
public string Value { get; set; }
public string Desciption { get; set; }
public byte Type { get; set; }
public Nullable<int> ParentID { get; set; }
}
私はまた、ビューモデルを持っています。 linqクエリをリストとして実行します。後でこのリストはシリアル番号の付いたテーブルとして表示されます。 私は次のクエリを書いています。
lstDetails = (from d in db.SalesDetails
join i in db.Items on d.ItemId equals i.IID
join u in db.Generals on d.UoM equals u.IID
select new SalelsDetailListViewModel
{
SerialNo = ???,
Id = d.IID,
ItemId = i.IID,
ItemName = i.Item1,
UoM = u.IID,
UnitName = u.Value,
Qty = d.Qty,
Disc = d.Disc
}).ToList();
他の項目のクエリ内でシリアル番号を増やす方法を理解できません。 ありがとうございました。
おかげで
Partha
'lstDetails'を宣言する直前に、' int count = 0'を宣言し、 'SerialNo = count ++'を実行します。 しかし、そのシリアルを即座に生成するにはどうしますか?あなたのクライアントには意味がありません。誰かがビューでそれを見てそれを送り返すと、どのようにそれをあなたのデータにマッチさせるでしょうか? – ironstone13
私はそれを試しましたが、シリアル番号は常に0です。 – Partha
私は私の提案をテストし、それは動作します。私は以下の答えでいくつかの選択肢を提供しました。それはあなたのために働いていない場合は私に教えてくださいと私たちは理由を把握します。 – ironstone13