Как написать запрос linq в Entity Framework, но моя таблица содержит внешний ключ? - PullRequest
1 голос
/ 06 апреля 2010

У меня есть таблица, в которую входят 3 поля внешнего ключа:

Моя таблица: Картлар

  • ID (Pkey)
  • RehberID (Fkey)
  • KampanyaID (Fkey)
  • BrimID (Fkey)
  • Имя
  • Подробности

Как можноя пишу запрос сущности с помощью linq:?

select * from Kartlar where RehberID=123 and KampanyaID=345 and BrimID=567

НО, пожалуйста, будьте осторожны, я не вижу RehberID, KampanyaID, BrimID в сущности, они являются внешними ключами.Я должен использовать ключ объекта, но как?

Мой объект:

Добавление данных в таблицу kartlar (RehberID, KampanyaID, BrimID) - это нормально.Но какой Kart'ID создал?Мне нужно узнать, какой идентификатор был создан после добавления данных (RehberID, KampanyaID, BrimID) в Картлар?

public static List<Kartlar> SaveKartlar(int RehberID, int KampanyaID, int BrimID, string Notlar)
{
    using (GenSatisModuleEntities genSatisCtx = new GenSatisModuleEntities())
    {
       Kartlar kartlar = new Kartlar();
       kartlar.RehberReference.EntityKey = new System.Data.EntityKey("GenSatisModuleEntities.Rehber", "ID", RehberID);
       kartlar.KampanyaReference.EntityKey = new System.Data.EntityKey("GenSatisModuleEntities.Kampanya", "ID", KampanyaID);
       kartlar.BirimReference.EntityKey = new System.Data.EntityKey("GenSatisModuleEntities.Birim", "ID", BrimID);
       kartlar.Notlar = Notlar;
       genSatisCtx.AddToKartlar(kartlar);
       genSatisCtx.SaveChanges();
       List<Kartlar> kartAddedPatient;
       kartAddedPatient = (from k in genSatisCtx.Kartlar
                           where k.RehberReference.EntityKey == RehberID &&
                                 k.KampanyaReference.EntityKey == KampanyaID &&
                                 k.BirimReference.EntityKey == BrimID
                           select k)
   return kartAddedPatient ;
    }
}

Как я могу это сделать?Я хочу получить данные из Картлара, какие данные я добавил?

1 Ответ

0 голосов
/ 06 апреля 2010
genSatisCtx.AddToKartlar(kartlar);
genSatisCtx.SaveChanges();
int newKartlarID = kartlar.KartID;//kartID or whatever you call your primary key
return newKartlarID;

после сохранения объекта kartlar он получает первичный ключ, который можно использовать после слов, надеюсь, это поможет, а также на каком языке kartlar ????

...