2013-08-20 44 views
5

Tôi có một bảng WorkflowInstances trong DB của tôi có chứa các trường này: ID (int), Tên (nvarchar (50), WorkflowID (int), Tài liệu (varbinary (MAX))). Tôi muốn chèn một WorkflowInstance mới vì vậy tôi đã viết mã nàyLàm thế nào để chuyển đổi loại 'byte []' thành 'System.Data.Linq.Binary'

Stream myStream = openFileDialogDoc.OpenFile(); 
      if (myStream != null) 
      { 
       using (myStream) 
       { 
        WorkflowInstance w = new WorkflowInstance(); 

        byte[] bytes = new byte[myStream.Length]; 
        myStream.Read(bytes, 0, (int)myStream.Length); 
        w.ID = repository.WorkflowsRepository.GetMaxIDWokflowInstance() + 1; 
        w.Name = textBoxWorkflowInstanceName.Text; 
        w.CurrentStateID = repository.WorkflowsRepository.GetWorkflowFirstState((int)listBoxMyWorkflows.SelectedValue); 
        w.WorkflowID = (int)listBoxMyWorkflows.SelectedValue; 
        w.CreationDate = System.DateTime.Now.ToString(); 
        w.Document = bytes; 
        RapidWorkflowDataContext context = new RapidWorkflowDataContext(); 
        context.WorkflowInstances.InsertOnSubmit(w); 
        context.SubmitChanges(); 
       } 
      } 

tôi đã nhận một lỗi trong dòng 15, lỗi này là: Không thể chuyển đổi ngầm gõ 'byte []' thành 'System.Data.Linq.Binary '

Trả lời

12

System.Data.Linq.Binary có một constructor lấy 1 đối số của byte[]:

w.Document = new System.Data.Linq.Binary(bytes); 
Các vấn đề liên quan