PDA

View Full Version : سوال: تعریف کلاس حاوی FileStream در codefirst



Iran58
پنج شنبه 02 آذر 1396, 10:02 صبح
سلام
جدول زیر را چگونه در codefirst ایجاد کنم
CREATE TABLE [dbo].[pic]( [Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](100) NULL,
[Desc] [nvarchar](500) NULL,
[pic] [varbinary](max) filestream ,
[picId] uniqueidentifier rowguidcol not null unique default(newsequentialid())
);

ژیار رحیمی
پنج شنبه 02 آذر 1396, 11:13 صبح
سلام
دیتاتایپ ستون picId رو فکر کنم guid در نظر گرفته باشی. در هر صورت لازم به picId نیست میتونی از همان Id که uniqe هست بجاش استفاده کنی

public class Picture
{
public Picture()
{
picId= Guid.NewGuid();
}
public int Id { get; set; }
[MaxLength(100)]
public string Name { get; set; }
[MaxLength(500)]
public string Desc { get; set; }
[DefaultValue(null)]
public byte[] Pic { get; set; }
public Guid PicId { get; set; } ;
}

Iran58
پنج شنبه 02 آذر 1396, 11:53 صبح
سلام
دیتاتایپ ستون picId رو فکر کنم guid در نظر گرفته باشی. در هر صورت لازم به picId نیست میتونی از همان Id که uniqe هست بجاش استفاده کنی

public class Picture
{
public Picture()
{
picId= Guid.NewGuid();
}
public int Id { get; set; }
[MaxLength(100)]
public string Name { get; set; }
[MaxLength(500)]
public string Desc { get; set; }
[DefaultValue(null)]
public byte[] Pic { get; set; }
public Guid PicId { get; set; } ;
}

سلام
مگه در FileStream ادرس فایل را ذخیره نمیکنیم و خود فایل را در یک درایو
سوال من این است که چطور این عمالیات را انجام بدهیم یعنی چطور عکس را به درایو موزد نظر ارسال کنیم

محمد آشتیانی
پنج شنبه 02 آذر 1396, 16:08 عصر
سلام
مگه در FileStream ادرس فایل را ذخیره نمیکنیم و خود فایل را در یک درایو
سوال من این است که چطور این عمالیات را انجام بدهیم یعنی چطور عکس را به درایو موزد نظر ارسال کنیم

سلام
خیر این موردی که شما فرمودید FileStream نیست
این مطلب رو مطالعه بفرمائید http://www.dotnettips.info/post/331/%D8%A2%D8%B4%D9%86%D8%A7%DB%8C%DB%8C-%D8%A8%D8%A7-%D9%82%D8%A7%D8%A8%D9%84%DB%8C%D8%AA-filestream-%D8%A7%D8%B3-%DA%A9%DB%8C%D9%88%D8%A7%D9%84-%D8%B3%D8%B1%D9%88%D8%B1-2008-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84

ژیار رحیمی
پنج شنبه 02 آذر 1396, 16:16 عصر
درسته من خیال کردم تصویر در دیتابیس ذخیره میشود.نوع دیتا تایپ Pic رو string بزار(برای ذخیر مسیر عکس)

var picture=new Picture();
picture.Pic=Path;//مسیر ذخیره سازی
picture.Name="Pic1";
picture.Desc="Decription for picture";
Image img = System.Drawing.Image.FromStream(myStream);
img.Save(picture.Pic + "\" + picture.Name + ".Jpeg", ImageFormat.Jpeg);
Conrext.Pictures.Add(picture);
Context.SaceChanges();