2013-08-20 13 views
5

Mam tabeli WorkflowInstances w moim DB, który zawiera następujące pola: ID (int), Name (nvarchar (50), WorkflowID (int), Dokument (varbinary (MAX))). Chcę wstawić nowy WorkflowInstance więc napisałem ten kodJak przekonwertować typ 'byte []' na '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(); 
       } 
      } 

Mam błąd w linii 15, jest błąd: Nie można niejawnie przekonwertować typu „byte []” do „System.Data.Linq.Binary "

Odpowiedz

12

System.Data.Linq.Binary ma konstruktora biorąc 1 argument byte[]:

w.Document = new System.Data.Linq.Binary(bytes); 
Powiązane problemy