Je veux correspondre 2 tables identiques:Comment faire correspondre deux tables de base de données identiques avec LINQ?
sourceProducts (productName, ProductionDate, ManID, shipper, distributer)
CommProducts (productName, ProductionDate, ManID, shipper, distributer)
mais le nombre de lignes et le contenu de l'enregistrement peuvent différer. Comment puis-je sélectionner un certain enregistrement = brut d'une table et obtenir son enregistrement clone à partir de l'autre table (par exemple, vérifier si le même enregistrement existe)? Comment est-ce que je fais cela en utilisant LinQ?
MISE À JOUR: Voici le code LINQ:
protected void checkBtn_Click(object sender, EventArgs e)
{
MyProductsDataContext mySdb = new MyProductsDataContext();
Product mypro = new Product { ManId = int.Parse(TxtManI.Text), ProductName = TxtProN.Text, ProductionDate =DateTime .Parse (TxtProDat.Text), Shipper = TxtShipI.Text, Distributer = TxtDistI.Text };
var spro = (from p in mySdb.Products
select new { p.ManId, p.ProductName, p.ProductionDate, p.Shipper, p.Distributer }).
Intersect(from s in mySdb.SourceProducts select new { s.ManId, s.ProductName, s.ProductionDate, s.Shipper, s.Distributer });
if (spro != null)
{
LblMessage.Text = "Acceptable product Data Inserted Sucessfully";
InsertData();
}
else
{
LblMessage.Text = "Invalid Product or bad Entry Please retype";
}
}
Je mis à jour votre message pour inclure le code que vous collé sous l'autre question. –
Je me demande pourquoi vous demandez à un utilisateur d'entrer à nouveau toutes les données quand vous l'avez déjà disponible. – Neal