Hallo. Vor kurzem wurde ja das EF 4.1 veröffentlicht. Wie kann ich eigentlich in Visual Studio (also nicht im Programm zur Laufzeit!) herausfinden, ob ich 4.0 oder 4.1 nutze?
Edit: ups - unten ist der Code für die Laufzeitabfrage, das willst du ja nicht wissen. In VS schau einfach bei den Verweisen: Entityframework.dll -> 4.1
du kannst die geladenen Assemblies der Anwendung prüfen und wenn dort EntityFramework dabei ist dann ist es EF 4.1. Zur Sicherheit kannst auch die Assembly-Version noch prüfen (aber das ist redundant).
Oder du prüfst alle Typen in der Anwendung und wenn einer von DbContext erbt dann ist es EF 4.1. Oder... es gibt viele Möglichkeiten, aber eigentlich ist das eher eine Entwurfszeit-Entscheidung als zur Laufzeit.
Also wenn Du im Studio im Projektmappenexplorer mit rechter Maustaste auf einen Verweis klickst, und dann Eigenschaften auswählst, dann kannst Du im PropertyGrid die Version nachschauen. Bei EF4.0 und EF4.1 ist das einfacher, EF4.0 hast Du, wenn Du einen Verweis auf System.Data.Entity in Deinem Projekt hast, EF4.1, wenn Du einen Verweis auf EntityFramework hast.
Das zieht beim EF4.1 aber (noch) nicht, da es als separate Assembly "EntityFramework.dll" vorliegt und nix mit System.Data.Entity zu tun. Das wird sich aber in künftigen Versionen wahrscheinlich ändern.
Hast Recht, hab eben gelesen, dass man neben der "EntityFramework.dll" auch noch ne Referenz auf System.Data.Entity braucht. Also EF4 bei nur System.Data.Entity und EF4.1 wenn zusätzlich eine EntityFramework.dll referenziert ist.