Po prostu próbuję dowiedzieć się, czy istnieje prosty sposób przechowywania i pobierania danych binarnych (plików) przy użyciu EF Code First CTP 5? Naprawdę chciałbym, żeby używał typu FILESTREAM, ale naprawdę szukam sposobu, aby to zadziałało.
źródło
Po prostu zadeklaruj swoją własność jako bajt [], jak wspomniał Ladislav.
public class Product { public int Id { get; private set; } public string Name { get; set; } public byte[] ProductImage { get; set; } }
To wszystko. Jeśli nie zmapujesz właściwości, konwencja jest mapowana na
varbinary(max)
. Jeśli masz już kolumnę obrazu w bazie danych, po prostu dodaj[Column(TypeName = "image")]
właściwość ProductImage lub jeśli wolisz mapowanie kodu, dodaj to do przesłonięcia OnModelCreating w klasie kontekstu:Problem polega na tym, że nie znalazłem sposobu na rozleniwienie właściwości, ponieważ niekoniecznie chcę ładować dane binarne za każdym razem, gdy pobieram produkt. Nie jestem pewien, czy dobrze pamiętam, ale NHibernate może to zrobić po wyjęciu z pudełka.
źródło