Home Database Mysql Tutorial 光脚丫学LINQ(043):为实体类的列成员指定在数据库中的数据类型

光脚丫学LINQ(043):为实体类的列成员指定在数据库中的数据类型

Jun 07, 2016 pm 03:35 PM
linq entity member designation data database

视频演示: http://u.115.com/file/f21113c26 演示重点 通过给实体类成员的 ColumnAttribute 特性设置 DbType 属性, 就可以为列成员指定它在数据库中的数据类型了。 赋值给DbType的属性值是一个字符串。 此字符串可以包含数据类型,数据的大小,以及是否为

视频演示:http://u.115.com/file/f21113c26

演示重点
通过给实体类成员的ColumnAttribute特性设置DbType属性,
就可以为列成员指定它在数据库中的数据类型了。
赋值给DbType的属性值是一个字符串。
此字符串可以包含数据类型,数据的大小,以及是否为空。
比如ColumnAttribute.DbType="NVarChar(40) NOT NULL"
事实上,只有当我们根据对象模型来创建数据库的时候,这个属性才是有用。
也就是调用数据上下文DataContext.CreateDatabase()方法时。
当调用此方法时,它才会读取DbType的属性值,然后据此来确定所创建的数据表的列的数据类型。
而通常使用对象模型对数据进行增删查改这些基本操作的时候,貌似这个属性就没什么用武之地了。

另外,也演示了如何通过对象模型来创建数据库。
这其中分别涉及到了以下3个方法:
DataContext.DatabaseExists():确定是否已经存在指定的数据库。
DataContext.DeleteDatabase():删除指定的数据库。
DataContext.CreateDatabase():根据对象模型创建数据库。
使用对象模型创建数据库的时候,如果没有为实体类的列成员设置ColumnAttribute.DbType属性,
那么就会使用NVarchar(4000)作为默认数据类型。
基于这个理由,如果我们要使用对象模型创建数据库的话,
那最好还是显示而明确的设置实体类列成员的ColumnAttribute.DbType。
而且一定要设置为有效的类型,否则LINQ to SQL所生成的CREATE TABLE命令就会包含无效的数据类型,
自然也就不会被成功执行了。
但如果不用对象模型创建数据库的话,设置了此属性反而是多此一举了。^_^

关键代码
下面的代码演示如何为实体类的列成员指定它在数据库中的数据类型,重点是DbType属性。

下面的代码演示了如何让LINQ to SQL根据对象模型创建数据库。

研习记录
此代码主要是用来研习ColumnAttribute.DbType属性的。
当希望使用DataContext.CreateDtabase()这个方法根据对象模型创建数据库的时候,这个属性尤其重要。
那么是否不设置这个属性,或者这个属性值设置无效的情况下,都将不能正确创建数据库呢?
当给DbType属性设置了一个无效的数据类型时,LINQ to SQL并不能够确定其是否有效。
它只会简单的用这个DbType的字符串属性值组合成一个创建数据库的SQL命令,
当这个命令发送给数据库的时候,却无法正确地执行,因为某个列的数据类型是无效的。
从这点来看LINQ to SQL还是有笨的地方。-_-
如果不设置DbType属性也可以,不过此时LINQ to SQL会用NVarChar(4000)这个作为其默认类型。
看看这个,我觉得还是明确的指定出来数据类型吧!
如果对象模型的本身不是用来创建数据库,而仅仅是为了操作已经创建好的数据库中的数据,
那么完全可以不为列属性设置这个DbType属性值。
这并不会影响使用效果的。
但如果要想根据对象模型来创建数据库的话,那最好还是明确的指定出来数据类型吧!

光脚丫思考 2010-12-28

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Slow Cellular Data Internet Speeds on iPhone: Fixes Slow Cellular Data Internet Speeds on iPhone: Fixes May 03, 2024 pm 09:01 PM

Facing lag, slow mobile data connection on iPhone? Typically, the strength of cellular internet on your phone depends on several factors such as region, cellular network type, roaming type, etc. There are some things you can do to get a faster, more reliable cellular Internet connection. Fix 1 – Force Restart iPhone Sometimes, force restarting your device just resets a lot of things, including the cellular connection. Step 1 – Just press the volume up key once and release. Next, press the Volume Down key and release it again. Step 2 – The next part of the process is to hold the button on the right side. Let the iPhone finish restarting. Enable cellular data and check network speed. Check again Fix 2 – Change data mode While 5G offers better network speeds, it works better when the signal is weaker

The vitality of super intelligence awakens! But with the arrival of self-updating AI, mothers no longer have to worry about data bottlenecks The vitality of super intelligence awakens! But with the arrival of self-updating AI, mothers no longer have to worry about data bottlenecks Apr 29, 2024 pm 06:55 PM

I cry to death. The world is madly building big models. The data on the Internet is not enough. It is not enough at all. The training model looks like "The Hunger Games", and AI researchers around the world are worrying about how to feed these data voracious eaters. This problem is particularly prominent in multi-modal tasks. At a time when nothing could be done, a start-up team from the Department of Renmin University of China used its own new model to become the first in China to make "model-generated data feed itself" a reality. Moreover, it is a two-pronged approach on the understanding side and the generation side. Both sides can generate high-quality, multi-modal new data and provide data feedback to the model itself. What is a model? Awaker 1.0, a large multi-modal model that just appeared on the Zhongguancun Forum. Who is the team? Sophon engine. Founded by Gao Yizhao, a doctoral student at Renmin University’s Hillhouse School of Artificial Intelligence.

Tesla robots work in factories, Musk: The degree of freedom of hands will reach 22 this year! Tesla robots work in factories, Musk: The degree of freedom of hands will reach 22 this year! May 06, 2024 pm 04:13 PM

The latest video of Tesla's robot Optimus is released, and it can already work in the factory. At normal speed, it sorts batteries (Tesla's 4680 batteries) like this: The official also released what it looks like at 20x speed - on a small "workstation", picking and picking and picking: This time it is released One of the highlights of the video is that Optimus completes this work in the factory, completely autonomously, without human intervention throughout the process. And from the perspective of Optimus, it can also pick up and place the crooked battery, focusing on automatic error correction: Regarding Optimus's hand, NVIDIA scientist Jim Fan gave a high evaluation: Optimus's hand is the world's five-fingered robot. One of the most dexterous. Its hands are not only tactile

The U.S. Air Force showcases its first AI fighter jet with high profile! The minister personally conducted the test drive without interfering during the whole process, and 100,000 lines of code were tested for 21 times. The U.S. Air Force showcases its first AI fighter jet with high profile! The minister personally conducted the test drive without interfering during the whole process, and 100,000 lines of code were tested for 21 times. May 07, 2024 pm 05:00 PM

Recently, the military circle has been overwhelmed by the news: US military fighter jets can now complete fully automatic air combat using AI. Yes, just recently, the US military’s AI fighter jet was made public for the first time and the mystery was unveiled. The full name of this fighter is the Variable Stability Simulator Test Aircraft (VISTA). It was personally flown by the Secretary of the US Air Force to simulate a one-on-one air battle. On May 2, U.S. Air Force Secretary Frank Kendall took off in an X-62AVISTA at Edwards Air Force Base. Note that during the one-hour flight, all flight actions were completed autonomously by AI! Kendall said - "For the past few decades, we have been thinking about the unlimited potential of autonomous air-to-air combat, but it has always seemed out of reach." However now,

Single card running Llama 70B is faster than dual card, Microsoft forced FP6 into A100 | Open source Single card running Llama 70B is faster than dual card, Microsoft forced FP6 into A100 | Open source Apr 29, 2024 pm 04:55 PM

FP8 and lower floating point quantification precision are no longer the "patent" of H100! Lao Huang wanted everyone to use INT8/INT4, and the Microsoft DeepSpeed ​​team started running FP6 on A100 without official support from NVIDIA. Test results show that the new method TC-FPx's FP6 quantization on A100 is close to or occasionally faster than INT4, and has higher accuracy than the latter. On top of this, there is also end-to-end large model support, which has been open sourced and integrated into deep learning inference frameworks such as DeepSpeed. This result also has an immediate effect on accelerating large models - under this framework, using a single card to run Llama, the throughput is 2.65 times higher than that of dual cards. one

AI startups collectively switched jobs to OpenAI, and the security team regrouped after Ilya left! AI startups collectively switched jobs to OpenAI, and the security team regrouped after Ilya left! Jun 08, 2024 pm 01:00 PM

Last week, amid the internal wave of resignations and external criticism, OpenAI was plagued by internal and external troubles: - The infringement of the widow sister sparked global heated discussions - Employees signing "overlord clauses" were exposed one after another - Netizens listed Ultraman's "seven deadly sins" Rumors refuting: According to leaked information and documents obtained by Vox, OpenAI’s senior leadership, including Altman, was well aware of these equity recovery provisions and signed off on them. In addition, there is a serious and urgent issue facing OpenAI - AI safety. The recent departures of five security-related employees, including two of its most prominent employees, and the dissolution of the "Super Alignment" team have once again put OpenAI's security issues in the spotlight. Fortune magazine reported that OpenA

Open-Sora comprehensive open source upgrade: supports 16s video generation and 720p resolution Open-Sora comprehensive open source upgrade: supports 16s video generation and 720p resolution Apr 25, 2024 pm 02:55 PM

Open-Sora has been quietly updated in the open source community. It now supports video generation up to 16 seconds, with resolutions up to 720p, and can handle text-to-image, text-to-video, image-to-video, and video-to-video of any aspect ratio. and the generation needs of infinitely long videos. Let's try it out. Generate a horizontal screen Christmas snow scene, post to B site and then generate a vertical screen, and use Douyin to generate a 16-second long video. Now everyone can have a screenwriting addiction. How to play? Guidance GitHub: https://github.com/hpcaitech/Open-Sora What’s even cooler is that Open-Sora is still all open source, including the latest model architecture, the latest model weights, multi-time/resolution/long-term

iOS 18 adds a new 'Recovered' album function to retrieve lost or damaged photos iOS 18 adds a new 'Recovered' album function to retrieve lost or damaged photos Jul 18, 2024 am 05:48 AM

Apple's latest releases of iOS18, iPadOS18 and macOS Sequoia systems have added an important feature to the Photos application, designed to help users easily recover photos and videos lost or damaged due to various reasons. The new feature introduces an album called "Recovered" in the Tools section of the Photos app that will automatically appear when a user has pictures or videos on their device that are not part of their photo library. The emergence of the "Recovered" album provides a solution for photos and videos lost due to database corruption, the camera application not saving to the photo library correctly, or a third-party application managing the photo library. Users only need a few simple steps

See all articles