天道酬勤,学无止境

iOS Swift 将数据从 .sql 文件导入到现有的 SQLite 数据库(iOS Swift import data from .sql file to existing SQLite database)

问题

我在我的 iOS Swift 3 应用程序中使用 SharkORM,我想要做的是使用以下函数将数据从 SQL 脚本文件导入我的 SQLite 数据库:

SharkORM.rawQuery("INSERT INTO `Unit` (Id,name,symbol) VALUES (1,'kg/m²','kg/m²')")

但是,我无法向“Unit”表中添加任何记录,因为我总是收到以下错误:

unrecognized token: \"\'k/gm²\""

有谁知道为什么会发生这种情况? 如果有另一种方法可以将 .sql 文件导入我的数据库,即使不使用 SharkORM。

提前致谢。

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 在 Swift 中通过 SQLite 数据库导入和查询 - iOS(Importing and querying through an SQLite database in Swift - iOS)
    问题 我正在制作一个应用程序,该应用程序使用具有 5 个不同表的大型数据库。 我想将该数据库导入应用程序包并能够通过表进行查询。 用户不会编辑数据库,因此不需要添加和删除记录。 在应用程序中添加数据库的最佳方法是什么? 回答1 过程如下: 将数据库添加到您的包中。 当您将其拖入您的项目时,您可以选择将其添加到代表您的主应用程序的目标中。 或者,查看目标设置,单击“Build Phases”并确认数据库出现在“Copy Bundle Resources”列表中。 使用像 FMDB 这样的框架来简化您的生活。 这是用 Objective-C 编写的,但在 Swift 中也能很好地工作。 你需要做的是: 将 FMDB 的 .h 和 .m 文件复制到您的项目中; 当提示创建“桥接头”时,请执行; 将以下行添加到您的桥接头: #import "FMDB.h" 通过遵循这些步骤,您可以在 Swift 项目中使用这个在 Objective-C 中开发的框架。 您现在可以使用 FMDB 框架编写 Swift 代码。 例如,用于打开数据库、从名为test的表中选择列x 、 y和z的 Swift 代码如下所示: let path = NSBundle.mainBundle().pathForResource("test", ofType:"sqlite") let database =
  • 如何在Swift中导入现有的Objective C类(How to import existing Objective C classes in Swift)
    问题 我已经在XCode 6.0 DP中弄乱了Swift一会儿,以便在现有项目中使用它。 我试图从我的ViewController.swift文件访问MyModel.h(我现有的Objective C模型对象)。 我想汇入 #import "MyModel.h"到我的Swift文件。 但是我找不到如何做到的。 回答1 发布答案(如果它可以帮助某些面临相同问题的人)。 我发现iOS开发人员库中提供了一个非常简单的解决方案。 请参考以下链接: https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html#//apple_ref/doc/uid/TP40014216-CH10-XID_75 苹果文档说: 要在与您的Swift代码相同的应用目标中导入一组Objective-C文件,您需要依靠Objective-C桥接标头将这些文件公开给Swift。 当您将Swift文件添加到现有的Objective-C应用程序或将Objective-C文件添加到现有的Swift应用程序时,Xcode会创建此头文件。 因此,我创建了MyApp-Bridging-Header.h文件,并仅添加了以下行: #import "MyModel.h" 现在
  • 导入 sqlite3.h 错误:在框架模块中包含非模块化头文件(import sqlite3.h error: include of non-modular header inside framework module)
    问题 我正在为我的应用程序创建一个自定义后端框架,它封装了我所有与数据库相关的逻辑,因此,当我们要使用任何数据库操作时,我们只需要调用该框架函数。 现在,对于数据库操作,我需要在名为 Data.swift 的文件中#import <sqlite3.h> ,其中存在我的所有数据库函数。 但这是 swift 文件,所以我如何导入 sqlite ..? 当我使用 bridging-header.h 时,我收到错误 error: using bridging headers with framework targets is unsupported bridging-header.h 里面有#import <sqlite3.h>并设置设置 Bridging Header 变量。 如果我在 Umbrella 标头中添加 import 语句这给了我错误 include of non-modular header inside framework module 我用谷歌搜索了很多,但无法找到正确的答案。 我还查看了 https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html#//apple_ref/doc/uid/TP40014216-CH10
  • 如何从Swift调用Objective-C代码?(How do I call Objective-C code from Swift?)
    问题 在Swift中,如何调用Objective-C代码? 苹果公司提到它们可以在一个应用程序中共存,但这是否意味着在技术上可以重复使用由Objective-C创建的旧类,同时在Swift中构建新类呢? 回答1 在Swift中使用Objective-C类 如果您要使用现有的类,请执行步骤2 ,然后跳到步骤5 。 (在某些情况下,我必须在旧的Objective-C文件中添加一个明确的#import <Foundation/Foundation.h 。) 步骤1:添加Objective-C实施-.m 将.m文件添加到您的类中,并将其命名为CustomObject.m 。 步骤2:添加桥接标题 添加.m文件时,可能会出现类似以下提示的提示: 单击是! 如果您没有看到提示,或者不小心删除了桥接标题,请向您的项目中添加一个新的.h文件,并将其命名为<#YourProjectName#>-Bridging-Header.h 。 在某些情况下,尤其是在使用Objective-C框架时,您无需显式添加Objective-C类,并且Xcode找不到链接器。 在这种情况下,创建如上所述的.h文件,然后确保将其路径链接到目标的项目设置中,如下所示: 笔记: 最佳做法是使用$(SRCROOT)宏链接您的项目,这样,如果您移动项目或使用远程存储库与其他项目一起使用它,它仍然可以正常工作。 $(SRCROOT
  • 带有预填充 .sqlite (Swift3) 的核心数据(Core Data with pre-filled .sqlite (Swift3))
    问题 目前我正在对现有的 iOS9 应用程序进行 Swift3/iOS10 更新,该应用程序为欧洲各地的电动汽车存储了大约 10.000 个充电点。 到目前为止,我总是使用预填充的数据库(.xcappdata 包中的 .sqlite、.sqlite-shm、.sqlite-wal 文件)来发布应用程序,但是在当前版本中,Apple 引入了 NSPersistentContainer 类,这使得它有点复杂。 在我的 AppDelegate 类中,我正在实例化我的 NSPersistentContainer 对象并将其传递给一个惰性变量,就像 Apple 在每个示例代码中所做的那样: lazy var stationDataPersistentContainer: NSPersistentContainer = { let fileMgr = FileManager.default let destinationModel = NSPersistentContainer.defaultDirectoryURL() if !fileMgr.fileExists(atPath: destinationModel.appendingPathComponent("StationData.sqlite").path) { do { try fileMgr.copyItem(at: URL
  • 将统一应用程序集成到现有的 iOS 应用程序(Integrate unity app to existing iOS app)
    问题 我有一个从 Unity 5 导出的 iOS 应用程序,我还使用 vuforia 将 ar 添加到该 Unity 应用程序。 现在我想将 Unity 应用程序集成到我现有的 iOS 应用程序中。 我遵循了 http://www.the-nerd.be/2015/11/13/integrate-unity-5-in-a-native-ios-app-with-xcode-7/#comment-446 教程和这个有利于在没有 Vuforia 的情况下集成 Unity。 那么我该如何做到这一点,而且最好使用 swift 做到这一点 回答1 我为iOS 8.4 及更高版本与Unity 5.3.8p8和Vuforia 6.0.117进行了集成。 这些教程是为 Objective-C 制作的,但你可以毫无问题地为 Swift 做,只需创建一个 PREFIX HEADER 并在那里导入所有 .h 文件,并在下面的示例中替换正确的代码。 导出 XCode 的 Unity 项目后,打开它并创建一个组文件夹。 在您创建的文件夹中,使用您想要的名称创建一个 .mm 文件(我的是 mainAppController.mm ),有: // mainAppController.mm // // Import this default headers to make Unity and Vuforia
  • Swift编译器错误:“框架模块内的非模块化标头”(Swift compiler error: “non-modular header inside framework module”)
    问题 现在,我想将我的ObjC框架迁移到Swift,并且出现以下错误: include of non-modular header inside framework module 'SOGraphDB' 引用指向仅定义协议的头文件,我在某些类中使用此头文件来使用此协议。 似乎与模块功能有关,但目前尚不清楚如何解决,您知道解决方案吗? 更新: 这是Swift编译器错误。 更新2: 一种快速解决方案(但不能解决根本原因)是将以下设置设置为yes:CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES 回答1 您的标头公开吗? 在项目浏览器中选择头文件。 然后,在xcode右侧的部分中,您会注意到目标旁边有一个下拉列表。 将其从“项目”更改为“公共”。 这对我有用。 回答2 这是预期的编译器行为,并且有很好的理由。 我认为大多数人遇到此问题是由于他们从Application Target切换到Framework Target并开始将C和Objective C标头添加到框架的伞形标头中,期望它具有与应用程序的Bridging标头相同的行为,但行为不同。 伞头实际上是为混合快速obj-c框架指定的,其目的是将API暴露给您的框架在Objective-c或c中拥有的外部世界。 这意味着我们放在其中的标题应该在公共范围内。
  • Swift无法导入Sqlite3 iOS(Swift Can't Import Sqlite3 iOS)
    问题 我将libsqlite3.0.dylib添加到我的项目中,然后尝试使用以下代码导入: import UIKit import sqlite3 class Dataware: NSObject { } 但这给了我这个错误: 没有这样的模块“ sqlite3” 回答1 将其添加到您的Bridging-Header.h文件中: #import <sqlite3.h> 这是导入任何C语言库的主要机制。 如果您还没有Bridging-Header.h文件: 添加文件Bridging-Header.h(或更常见的是(ProjectName)-Bridging-Header.h 转到项目的构建设置选项卡找到“ Objective-C桥接标头”。 最简单的方法是搜索桥接。 输入您在第一步中创建的文件的名称和路径。 可能是(ProjectName)/(ProjectName)-Bridging-Header.h 回答2 当想要将sqlite添加到框架目标时,需要module.map 由于未映射sqlite,因此只需执行以下操作: 1.在您的项目“ module / module.map”中创建文件 2.从伞头创建模块: module sqlite3 [system] { header "/Applications/Xcode6-Beta5.app/Contents/Developer
  • SwiftUI混编只如何将您的Objective-C代码迁移到SwiftUI
    总览 您可以通过在Swift中替换其中的一些程序来改善其中一个Objective-C应用程序的体系结构,逻辑和性能。互操作性使轻松迁移到Swift的功能集成到Objective-C代码成为可能。您无需一次在Swift中重写整个应用程序。 清理您的代码 通过整理和更新现有的Objective-C代码库,确保Objective-C代码和Swift代码具有最佳兼容性。例如,如果您的代码库中有尚未添加可空性注释的部分,那么现在是时候添加它们了。确保您的代码遵循现代编码惯例,以便与Swift进行更有效的交互。 迁移代码 将代码迁移到Swift的最有效方法是基于每个文件,即一次一个类。因为您不能在Objective-C中对Swift类进行子类化,所以最好在您的应用程序中选择一个不包含任何子类的类。您可以替换.m和.h文件与一个单一的该类.swift文件。您的实现和接口中的所有内容都直接进入该单个Swift文件中。您不会创建头文件;如果需要引用Xcode,它会自动生成一个标题。 通过选择“文件”>“新建”>“文件”>(iOS,watchOS,tvOS或macOS)>“源”>“ Swift文件”,为相应的Objective-C .m和.h文件创建Swift类。您可以使用与Objective-C类相同或不同的名称。在Swift中,类前缀是可选的。 导入相关的系统框架。
  • 如何在后台线程(Swift)上有效地将大文件写入磁盘(How to efficiently write large files to disk on background thread (Swift))
    问题 更新 我已经解决并消除了分散注意力的错误。 请阅读整篇文章,如果还有任何问题,请随时发表评论。 背景 我正在尝试使用 Swift 2.0、GCD 和完成处理程序在 iOS 上将相对较大的文件(视频)写入磁盘。 我想知道是否有更有效的方法来执行此任务。 任务需要在不阻塞主 UI 的情况下完成,同时使用完成逻辑,并确保操作尽快发生。 我有一个带有 NSData 属性的自定义对象,所以我目前正在尝试在 NSData 上使用扩展。 例如,替代解决方案可能包括使用 NSFilehandle 或 NSStreams 与某种形式的线程安全行为相结合,这导致比我当前解决方案所基于的 NSData writeToURL 函数更快的吞吐量。 NSData 有什么问题? 请注意以下讨论取自 NSData 类参考,(保存数据)。 我确实对我的临时目录执行了写入,但是我遇到问题的主要原因是我在处理大文件时可以看到 UI 中出现明显的延迟。 这种滞后正是因为 NSData 不是异步的(Apple Docs 指出原子写入会导致“大”文件的性能问题 ~ > 1mb)。 因此,在处理大文件时,NSData 方法中的任何内部机制都在起作用。 我做了更多的挖掘,从 Apple 那里找到了这个信息......“这种方法非常适合将 data:// URL 转换为 NSData 对象,也可以用于同步读取短文件
  • 在Swift中访问SQLite数据库(Accessing an SQLite Database in Swift)
    问题 我正在寻找一种使用Swift代码在我的应用程序中访问SQLite数据库的方法。 我知道我可以在Objective C中使用SQLite包装器并使用桥接头,但是我希望能够完全在Swift中完成此项目。 如果可以的话,有没有办法做到这一点,有人可以将我指向一个引用,该引用显示了如何提交查询,检索行等。 回答1 尽管您可能应该使用许多SQLite包装器之一,但如果您想知道如何自己调用SQLite库,则可以: 配置您的Swift项目以处理SQLite C调用。 如果使用Xcode 9或更高版本,则只需执行以下操作: import SQLite3 创建/打开数据库。 let fileURL = try! FileManager.default .url(for: .applicationSupportDirectory, in: .userDomainMask, appropriateFor: nil, create: true) .appendingPathComponent("test.sqlite") // open database var db: OpaquePointer? guard sqlite3_open(fileURL.path, &db) == SQLITE_OK else { print("error opening database") sqlite3
  • Swift 开源项目汇总
    Swift 开源项目汇总 1. 完整项目1.1 直播类App1.2 安防类App1.3 新闻类App1.4 电商类App1.5 跨平台App1.6 工具类App1.7 游戏类App1.8 社交类App1.9 音视频app1.10 图像处理app1.11 生活助手类app1.12 支付app1.13 AR/VR 项目App1.14 通讯录相关1.15 彩票类1.16 股票类1.17 摄像类1.18 阅读器类 2. 网络库基础网络框架2.1 Socket2.2 TCP/IP2.3 Websocket2.4 WebRTC 3. 数据处理3.1 Json数据解析3.2 xml数据解析3.3 DB存储框架3.3.1 DB 处理框架3.3.2 CoreData 处理框架 3.4 缓存处理 4. 图形处理4.1 图片处理4.2 压缩4.3 svg图片处理4.4 统计图等绘制4.5 gif图片处理4.6 网络图片处理 5. 动画5.1 简单动画 6. UI控件6.1 自动布局6.2 UI 适配6.3 UI 组件6.3.1 UILabel自定义6.3.2 UIButton自定义6.3.3 UISwitch自定义6.3.4 UIScroll自定义6.3.5 tabbar自定义6.3.6 UIProgress 进度条6.3.7 UIAlert 自定义6.3.8 图表绘制6.3.9 下拉刷新6.3.10
  • Swift 3 从 appDelegate 中的 SQL 文件预加载(Swift 3 preload from SQL files in appDelegate)
    问题 我正在尝试快速 3 转换。 我正在 swift 2 项目中从 sql 文件中预加载数据。 我不确定如何在 swift 3.0 中完成这项工作? 下面是我的 swift 2 appDelegate 文件。 在 swift 3 中,核心数据堆栈已经发生了足够的变化,我不知道在哪里尝试重用与 swift 2 相同的代码。我正在使用的代码列在注释“为 SQLite 预加载添加”下. 谢谢 // MARK: - Core Data stack lazy var applicationDocumentsDirectory: URL = { // The directory the application uses to store the Core Data store file. This code uses a directory named "self.edu.SomeJunk" in the application's documents Application Support directory. let urls = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask) return urls[urls.count-1] }() lazy var managedObjectModel
  • 在iOS中找不到GoogleMaps SDK框架(Framework not found GoogleMaps sdk in iOS)
    问题 我想使用谷歌地图到现有的(不是新的)iPhone项目。现在我正在使用谷歌地图ios sdk,我成功地将谷歌地图框架添加到我的项目中。但是我遇到了这样的错误 ld: framework not found GoogleMaps clang: error: linker command failed with exit code 1 (use -v to see invocation) 如何解决此问题。我使用的是xcode4.5,Google Map iOS sdk版本为1.5。 当我使用谷歌地图iOS SDK创建新项目时,对我来说没有错误。仅对现有iOS项目有错误。请帮助我。 回答1 我解决了我的问题 你需要这样做 点击您的项目(目标) 点击构建设置在框架搜索路径下(设置框架路径) 遵循信息以获取框架搜索路径 右键点击您的框架文件夹(例如:GoogleMaps.framework) 选择获取信息从General-> where复制路径,然后将此路径粘贴到框架搜索路径中(路径应包含在单行中) 祝你好运 回答2 我遇到了一种情况,我必须导入一个正在使用Google Maps的项目,并且注意到了相同的问题-模块:未找到“ Google Maps”。 要解决此问题,必须删除Podfile.lock和Podfile文件夹,然后再次重新安装Pod。 祝你好运 ! 回答3 您还可以:
  • 删除/重置核心数据中的所有条目?(Delete/Reset all entries in Core Data?)
    问题 您是否知道删除存储在核心数据中的所有条目的任何方法? 我的架构应该保持不变; 我只想将其重置为空白。 编辑 我正在寻找以编程方式执行此操作,以便用户可以基本上单击reset按钮。 回答1 您仍然可以使用NSFileManager:removeItemAtPath ::方法以编程方式删除文件。 NSPersistentStore *store = ...; NSError *error; NSURL *storeURL = store.URL; NSPersistentStoreCoordinator *storeCoordinator = ...; [storeCoordinator removePersistentStore:store error:&error]; [[NSFileManager defaultManager] removeItemAtPath:storeURL.path error:&error]; 然后,只需添加回永久存储以确保正确创建它即可。 遍历每个实体的编程方式较慢且容易出错。 这样做的用途是,如果您要删除某些实体而不是其他实体。 但是,您仍然需要确保保留参照完整性,否则将无法持久保存所做的更改。 只需删除存储并重新创建它既快速又安全,并且可以肯定地在运行时以编程方式完成。 适用于iOS5 +的更新 随着iOS 5和OS X 10
  • Sqlite文件位置核心数据(Sqlite File Location Core Data)
    问题 通常,核心数据应用的sqlite存储文件位于 库>应用程序支持> iPhone Simulator> 7.1(或您使用的任何版本)>应用程序>(哪个文件夹包含您的应用程序)>文档 文件夹,但在IOS 8中找不到。我假设他们只是在iPhone Simulator文件夹中添加了一个8.0文件夹,但它不存在。 有人能够找到它吗? 回答1 我设法找到了sqlite文件,现在在此路径中: 库/开发人员/ CoreSimulator /设备/(数字和字母)/数据/容器/数据/应用程序/(数字和字母)/文档/ (数字和字母)代表您的应用程序/计算机唯一的文件夹,但看起来像这样:779AE2245-F8W2-57A9-8C6D-98643B1CF01A 我可以通过进入appDelegate.m来找到它,向下滚动到 - (NSURL *)applicationDocumentsDirectory 方法,以及NSLogging的返回路径,如下所示: // Returns the URL to the application's Documents directory. - (NSURL *)applicationDocumentsDirectory { NSLog(@"%@",[[[NSFileManager defaultManager] URLsForDirectory
  • 使用swift 3.0编译的模块不能在Swift 3.0.1中导入(Module compiled with swift 3.0 cannot be imported in Swift 3.0.1)
    问题 我将Xcode升级到8.1 GM,现在遇到SwiftyJSON的以下错误。 其他导入的框架似乎也起作用。 在SwiftyJSON升级其框架之前,是否有办法强迫它在Swift 3中工作? 我用迦太基来导入/更新框架。 我还尝试了将“ Use Legacy Swift language version打开”和“关闭”更改为无济于事。 使用Swift 3.0编译的模块无法在Swift 3.0.1中导入:Modules / SwiftyJSON.swiftmodule / arm64.swiftmodule 回答1 SwiftyJson正在由迦太基预编译下载。 预先编译的下载与Swift 3.0版一起提供。 这使编译器抱怨版本不正确。 使用以下命令: carthage update --platform iOS --no-use-binaries SwiftyJson(以及Carthage中的所有其他框架)将使用本地版本的Swift(3.0.1)在本地进行编译,并且编译器将不再抱怨。 回答2 从DerivedData中删除应用程序chche,然后重新构建。 该错误可能已修复。 DerivedData路径如下所示: ~/Library/Developer/Xcode/DerivedData/ 回答3 确保已将新的XCode 8.1 GM程序包放入“应用程序”文件夹中。
  • 附加两个 SQLite-DB 文件以在 Swift 中查询这两个文件(Attach two SQLite-DB files to query over both files in Swift)
    问题 在 iOS11 的 Swift4 中,我想附加两个 SQLite 数据库文件(file1.db 和 file2.db),以便对所有数据(即两个数据库)进行查询。 我已经使用以下代码在一个 SQLite 数据库中成功实现了一个 SQL 查询(..这里有一个名称查询的例子......): func readOneDB() -> String? { // create SQL-DB FilePath do { // create a documents-URL from filename self.file_1_URL = try createSQLFilePath(fileName: "file1", fileExtension: "db") } catch { return nil } let query = """ SELECT DISTINCT n.locations FROM names n WHERE n.name = "\(self.myName)" """ // Open SQLite database var db: OpaquePointer? = nil if sqlite3_open(self.file_1_URL?.absoluteString, &db) == SQLITE_OK { var statement: OpaquePointer? = nil
  • 核心数据文件的位置 iOS 10(Core Data file's Location iOS 10)
    问题 我正在尝试使用 SQLite 浏览器查看我的核心数据对象。 我无法找到核心数据在哪里保存其 sql 文件。 我查看了应用程序文档文件夹,但那里什么也没有。 你知道IOS 10(模拟器)中的核心数据在哪里保存它的SQLite文件吗? 回答1 我在 XCode 8 Swift 3 OS macOS Sierra 上测试过 IOS 10 在你的 Appdelegate.swif t func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { let urls = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask) print(urls[urls.count-1] as URL) return true } 1. 常量.documentDirectory表示我们正在寻找 Document 目录 2. 常量.userDomainMask将我们的搜索限制在我们应用程序的沙箱中。 输出 file:///Users/Ashok/Library/Developer
  • 有什么预填充核心数据的方法吗?(Any way to pre populate core data?)
    问题 我一直在创建一个列表应用程序,并用核心数据支持它。 我希望有一个默认列表,例如10个机场的物品,这样用户就不必从头开始。 有什么办法吗? 任何帮助表示赞赏。 提前致谢。 回答1 这是最好的方法(并且不需要SQL知识): 使用与列表应用相同的对象模型创建一个快速的Core Data iPhone应用(甚至Mac应用)。 编写几行代码,将您想要的默认托管对象保存到存储中。 然后,在模拟器中运行该应用程序。 现在,转到〜/ Library / Application Support / iPhone Simulator / User / Applications。 在GUID中找到您的应用程序,然后将sqlite存储复制到List应用程序的项目文件夹中。 然后,像在CoreDataBooks示例中一样加载该存储。 回答2 是的,实际上有CoreDataBooks示例可以做到这一点,您可以在此处下载代码:示例代码 您要做的就是使用正常过程创建内部存储(数据库),就像对其他任何存储一样,初始化您的存储,然后只需运行您的代码,并让其执行CoreDataBooks示例中所述的代码(下面的代码段) )。 初始化存储后,您将需要创建一个NSManagedObjectContext并使用创建的持久性存储对其进行初始化,插入所需的所有实体,然后保存上下文。 成功保存上下文后,您可以停止应用程序