5

DB に、ID (int)、Name (nvarchar(50)、WorkflowID (int)、 Document (varbinary(MAX) ))というフィールドを含む WorkflowInstances テーブルがあります。新しい WorkflowInstance を挿入したいので、このコードを書きました

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();
                }
            }

15 行目でエラーが発生しました。エラーは次のとおりです: 型 'byte[]' を 'System.Data.Linq.Binary' に暗黙的に変換できません

4

1 に答える 1

12

System.Data.Linq.Binaryの 1 つの引数を取るコンストラクタがありますbyte[]:

w.Document = new System.Data.Linq.Binary(bytes);
于 2013-08-20T00:53:13.483 に答える