using (RapidWorkflowDataContext context = new RapidWorkflowDataContext())
{
var query = from w in context.WorkflowInstances
from c in context.Workflows
where EmpWorkflowIDs.Contains((int)w.ID) && w.CurrentStateID != c.LastStateID
select w;
return query.ToList();
}
Run Code Online (Sandbox Code Playgroud)
我有2个表:工作流和工作流程实例.
用于存储对象的工作流和用于存储实例的workflowInstances.
工作流表:ID,Name,FirstStateID,LastStateID
WorkflowInstances表:ID,Name,WorkflowID,CurrentStateID
如何在linq中编写查询到sql,从WorkflowInstances中选择实例,其中CurrentStateID不等于LastStateID
我的数据库中有一个WorkflowInstances表,其中包含以下字段:ID(int),Name(nvarchar(50),WorkflowID(int),Document(varbinary(MAX))).我想插入一个新的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();
}
}
Run Code Online (Sandbox Code Playgroud)
我在第15行遇到错误,错误是:无法将类型'byte []'隐式转换为'System.Data.Linq.Binary'