Helló!
Biztos hogy nagyon egyszerű a válasz, de valahogy én nem jövök rá .
Szóval :
Egy WP7-es alkalmazást csinálok, a helyi menetrendek nézegetésére.
SQL CE- adatbázist használok mögötte, hogy offline böngészés is biztosítva legyen.
Az egyes buszok adatait mindig külön osztályba rakom, és ott is töltöm föl, tehát egy 22-es busz körülbelül így néz ki :
class busz22 {
public List<TableStructure> Busz22Lista = new List<TableStructure>();
// lista létrehozása, amibe beletologatom az elemeket.
ezen belül van egy metódus, ami feltölti az adatokat : kb így néz ki :
var MenetrendContext = new MenetrendContext();
if (!MenetrendContext.DatabaseExists())
{
MenetrendContext.CreateDatabase();
}
majd az adatok létrehozása.
Busz22Lista.Add(new TableStructure() { Id = 72, Jarat = 22, Hour = 7, Sec = 35 });
satöbbisatöbbi.
és végül egy foreach-el végigmegyek az elemeket és feltöltögetem így :
foreach (var l in Busz22Lista)
{
MenetrendContext.Busz22.InsertOnSubmit(l);
MenetrendContext.SubmitChanges();
}
ez a feltöltő metódus a gombnyomásra hívódik meg.
Tehát ha a felhasználó mondjuk a 22-es menetrend gombját megnyomja, akkor ez így legenerálódik és elkészül.
viszont, ha mégegyszer rákattint, akkor szépen elszáll az alkalmazás, merthogy PK már van olyan... nem duplikálható nyilván.
Tehát a porbléma : Hogyan tudom azt leellenőrizni , hogy ez a PK már van e. mert ha van akkor nyilván ne töltsük föl.
Hogyha meg mondjuk átállítom auto incerementre a PK-t akkor gondolom működne, de minden benne lenne előbb vagy utóbb ötszázszor a táblába :S
Nincs erre is valami, mint pl a tábla létrehozásánál a DatabaseExist ?
Köszönöm a segítséget.
-.-