首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让ObjectContext编译?

如何让ObjectContext编译?
EN

Stack Overflow用户
提问于 2013-05-01 22:32:39
回答 2查看 1.9K关注 0票数 1

我正在将一些代码从VB6转换为VB.Net,其中包含以下几个实例:

代码语言:javascript
复制
Private m_myobj As ObjectContext

m_myobj = GetObjectContext()
' do stuff, then
m_myobj.SetAbort()
' or
m_myobj.SetComplete()

借助于包含对System.DataSystem.Data.EntityImports System.Data.Object的引用,我设法使声明得以编译,但其他人到目前为止都拒绝这样做。显示的错误包括:-

代码语言:javascript
复制
'GetObjectContext' is not declared. It may be inaccessible due to its protection level
'SetComplete' is not a member of 'System.Data.Objects.ObjectContext'
'SetAbort' is not a member of 'System.Data.Objects.ObjectContext'

从文档中可以看出,这两个方法实际上并不存在,但它们(可能)在VB6中是有效的。有人知道我应该怎么做吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-02 02:36:01

SetAbortSetComplete方法是对运行类的COM+ (曾经称为MTS)应用程序的调用,并允许部分代码投票决定分布式数据库事务是否将由com+环境提交。您需要查看代码路径,看看代码是否是必需的。如果是这样,您将需要研究跨多个DB访问扩展数据库事务的其他方法。在我的经验中,人们有时会对这项技术感到兴奋,并不必要地实现它,很有可能你可以直接删除代码。

复制此功能的最简单方法是保持一个开放的连接,并适当地调用begintran和endtran,但这类东西往往会变得复杂。

我认为现代微软最接近的等价物是Entity Framework。

票数 2
EN

Stack Overflow用户

发布于 2013-05-02 00:41:44

GetObjectContext是一个窗口函数。您可以使用P/Invoke声明它,如下所示:

代码语言:javascript
复制
<DllImport("ComSvcs.dll", CallingConvention:=CallingConvention.Cdecl)> _
Public Shared Function GetObjectContext(<Out> ByRef pCtx As IObjectContext) As Integer
End Function

<ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("51372AE0-CAE7-11CF-BE81-00AA00A2FA25")> _
Public Interface IObjectContext
    Function CreateInstance(ByVal rclsid As Guid, ByVal riid As Guid) As Object
    Sub SetComplete()
    Sub SetAbort()
    Sub EnableCommit()
    Sub DisableCommit()
    <PreserveSig> _
    Function IsInTransaction() As Boolean
    <PreserveSig> _
    Function IsSecurityEnabled() As Boolean
    Function IsCallerInRole(<MarshalAs(UnmanagedType.BStr)> ByVal role As String) As Boolean
End Interface
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16320098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档